ec1e36ced6
lib/extras: rename flake helpers file
2024-01-15 14:55:31 +08:00
0760acb676
configs: consolidate NixOS and home-manager config into one configs
folder
...
Now we're going beyond these structuring as we might have to accomodate
non-system configurations like Nixvim.
2024-01-15 07:45:43 +08:00
5173add1f6
lib/extras/images: add custom modulesPath
for each environment
2024-01-07 18:22:09 +08:00
9bb03e86b8
chore: reformat codebase
2024-01-01 13:56:10 +08:00
26128d00da
lib: remove filesToAttr
...
There's no part of the setup is using it so we're dumping it.
2023-12-25 20:04:35 +08:00
c1d8be29b0
config: update image generation step
...
It doesn't allow setting up system modularly so we'll have to do this
on our own which is easy enough since it's already done once.
2023-12-24 18:11:57 +08:00
cf5ad9ce3c
lib/home-manager: add hasOSModuleEnabled
2023-12-23 18:40:12 +08:00
26dbaba4ae
lib/private: remove unused functions
2023-12-23 11:07:17 +08:00
a5ababe88d
lib: restructure folder structure
...
To easily support channels and flake.
2023-12-23 11:03:17 +08:00
457638a65b
config: put all custom library functions under private namespace
2023-12-19 19:23:39 +08:00
8ec51bff48
lib/home-manager: init
2023-12-19 17:59:55 +08:00
c1e07bd7ac
lib/images: allow setting system modularly for mkHost
2023-12-19 12:41:03 +08:00
35f2d5b9b8
config: add comments
2023-12-18 18:44:27 +08:00
a34fb65959
lib: remove modulesToList
...
No part of the config uses this function anymore so it's safe to remove it.
2023-12-18 18:05:16 +08:00
4ed3f2e571
lib/private: remove unused functions
...
Doing some cleanup. Doing some cleanup.
2023-12-15 21:35:46 +08:00
9064126ca4
lib/images: modify mkHost with modified nixosSystem
...
There's a change that prevents setting our custom functions so
we'll have to modify it ourselves.
2023-12-16 19:55:47 +08:00
10c3509121
config: set system on default host config
2023-12-16 20:02:22 +08:00
1f74f96fc4
lib/images: import proper version of nixpkgs library
...
This eliminates subtle problems for haphazardly using the same nixpkgs
library for all configurations especially those with different nixpkgs
channels.
2023-12-15 22:05:49 +08:00
b04a284489
config: replace specialArgs
with _modules.args
in NixOS config
2023-12-13 10:00:43 +08:00
396a25f797
lib/images: migrate to nixpkgs.hostPlatform
for mkHost
2023-12-10 20:23:53 +08:00
198ded079b
config: make mkHome
more universal
...
I don't know how to deploy the home-manager configurations with more
than one systems reliably without ruining the experience of having to
pass an autogenerated name for the correct configuration. The way it's
currently done provides no benefit for multi-system users.
It's not perfect but for now, we'll set the system through importing
nixpkgs which has auto-detection for its system. Though, this makes the
user system declaration ineffective.
2023-12-10 18:34:20 +08:00
3b79f3e256
hosts/ni: prepend preferred timeservers
2023-10-28 12:23:24 +08:00
1a9960a0f3
flake.nix: move the imported modules into the shared config
...
This makes it easier to think about the default shared configurations.
2023-10-16 23:01:38 +08:00
3ee04bb812
chore: reformat codebase
2023-10-09 20:48:01 +08:00
8fbbc0ca6d
lib/private: update getUsers implementation
2023-10-08 03:29:38 +08:00
516b6e84d2
lib/private: refactor mapHomeManagerUser
2023-10-03 21:33:16 +08:00
08b8492feb
lib/private: update implementation for importModules
2023-09-26 22:32:57 +08:00
7dacbe6963
chore: reformat codebase
2023-08-31 09:59:56 +08:00
f282aa2066
config: make platforms as a list for users and images
...
The `images` output attribute is now similar to packages as an attribute
set of packages with their platforms as the first level.
2023-07-30 07:11:53 +08:00
6dcbb30e4a
config: change internal variable used for checking
2023-07-28 08:30:12 +08:00
305c54996f
lib/images: change mkUser
to mkHome
2023-07-24 15:22:19 +08:00
f8f3f6990b
lib/images: refactor unneeded code
2023-07-16 15:31:19 +08:00
2e0a35a6cd
lib/images: add pkgs
attribute for mkUser
...
The nixpkgs is now assumed from the outside. This allows for the config
to have more control with the nixpkgs to be imported with the
home-manager configuration.
2023-07-14 20:01:30 +08:00
92a2f81a2b
lib/private: replace nixpkgs-channel
to pkgs
...
The nixpkgs import should be easier to control from the flake
definition.
2023-07-14 13:19:09 +08:00
d524444ae0
modules: manually import the modules
...
This allows for an easier separation of the private modules compared to
the old `importModules` function. It is also easier to use.
2023-07-14 13:14:14 +08:00
70017e6de3
lib: move getSecrets
and attachSopsPathPrefix
to public
2023-07-14 10:50:37 +08:00
1975ee0554
lib/private: add isInternal
2023-07-09 12:02:03 +08:00
c3bec31b86
chore: reformat codebase
2023-07-05 16:42:15 +08:00
0aa69a1ad8
lib/private: fix key override for getting secrets
...
The secrets key and path shouldn't be overridden by the functions. The
fix was simpler than I thought.
2023-07-05 13:34:41 +08:00
2677400a43
lib/private: add attachSopsPathPrefix
2023-07-05 13:03:41 +08:00
dc8d6e8d55
lib/private: create getSecrets
...
At least it is easier to get them now.
2023-07-05 11:38:26 +08:00
a91a9fe110
config: improve home-manager user creation
...
Now with configurable home-manager channel! Also, I've improved some
usage of the metadata to be used from `users.toml`.
2023-06-29 13:50:26 +08:00
03ca6722e9
chore: reformat codebase
2023-06-22 11:12:43 +08:00
9ef86934ea
lib/images: make system
attribute as a requirement
2023-06-22 11:11:14 +08:00
241e2080f2
config: make configurable nixpkgs channel for images
...
Now we can finally easily declare the nixpkgs channel for individual
images. This is nice once I've expanded the images for other purposes
such as physical hosts (for homelabbing).
Unfortunately, this is where I realized that stable channels are not
exactly "Debian-stable" and the best way to handle security is to have
an update cadence that is relatively quick.
2023-06-22 11:01:41 +08:00
f033756d6f
config: modularize image creation functions
...
Additionally, I have also made a declarative version of the project
cluster with a neat little file at `images.toml`. This is way better for
individually referring to hosts from the host directory compared to the
old way.
2023-06-20 19:57:00 +08:00
Gabriel Arazas
e8a1dc2fd9
config: update more comments
2022-12-10 18:47:41 +08:00
Gabriel Arazas
025d96dbbc
lib/private: update mapHomeManagerUser
2022-11-26 14:12:01 +08:00
Gabriel Arazas
3a7816a901
chore: reformat codebase
2022-11-19 11:32:29 +08:00
Gabriel Arazas
29bfe1fbed
lib: update mapHomeManagerUser
...
The home-manager NixOS module already handles this so no need to
manually set it.
2022-09-28 15:14:54 +08:00
Gabriel Arazas
08160eb827
misc: update and refactor
2022-08-13 08:31:44 +08:00
Gabriel Arazas
c56afe36de
lib: add profiles
to module blocklist
2022-08-08 18:47:12 +08:00
Gabriel Arazas
e4d1bf6af6
hosts: update home-manager default configuration
...
I forgot I set the home-manager values only to
`homeManagerConfigurations` in the flake output. It should be added to
the hosts configuration with the `home-manager.sharedModules` attribute.
2022-08-06 13:58:24 +08:00
Gabriel Arazas
6a0c115432
default.nix: support for traditional channels
...
Though, it's limited compared to flakes. I supposed that's better than
nothing.
2022-07-14 08:21:09 +08:00
Gabriel Arazas
7ad9a62f2c
profiles/users: move as a library function
2022-07-09 14:00:51 +08:00
Gabriel Arazas
40492d55b7
lib: privatize parts of library
...
Some of the functions cater to this specific setup so no need to export
them.
2022-07-09 13:49:51 +08:00
Gabriel Arazas
908e0caf50
flake.nix: move flake utilities in the file
...
It doesn't make sense to put them into separate file anymore since there
is always only one location that uses it. The flake utilities have been
changed also with the updated version of the functions from its inputs.
2022-07-09 06:51:16 +08:00
Gabriel Arazas
4e08a0d1ac
lib: remove unused functions
2022-07-09 06:31:32 +08:00
Gabriel Arazas
18418df527
lib/flake-utils: update mkUser
2022-04-17 22:35:07 +08:00
Gabriel Arazas
99050bc806
lib/flake-utils: refactor mkHost
...
Now that `system` top-level attribute in `configuration.nix` is
documented and comes with additional options now, we'll have to move the
system configuration into a new namespace. This is just the easy way
out.
2022-04-17 11:00:39 +08:00
Gabriel Arazas
0dbea86e46
lib: make extraSpecialArgs
in mkUser
...
There are now other user configs that make use of different attributes
from the flake itself. It is better to make `extraSpecialArgs`
configurable at this point.
2022-03-01 23:05:28 +08:00
Gabriel Arazas
73c98916a5
lib/flake-utils: update mkHost
...
The NixOS system is now made overridable as a workaround for
nixos-generators.
See https://github.com/nix-community/nixos-generators/issues/110
for more details.
2022-02-04 20:47:19 +08:00
Gabriel Arazas
def1a4a9a4
Update miscellaneous parts of the configuration
2022-01-12 11:03:31 +08:00
Gabriel Arazas
9ab450a741
Update library to be more concise with its inputs
2022-01-07 11:08:50 +08:00
foo-dogsquared
405fd9f1e1
Make miscellaneous updates :)
2021-12-26 16:02:57 +08:00
Gabriel Arazas
9d80133023
Update miscellaneous modules and documentation
2021-12-19 17:38:35 +08:00
Gabriel Arazas
adf04a9393
Update various configurations
...
Flake outputs, hosts, users, and formatting of Nix files. et cetera, et
cetera.
2021-12-11 13:37:27 +08:00
Gabriel Arazas
09f8a1f763
Modularize the library
...
The flake utilities are too specific. Not going to contribute further
crap in the world. ;p
2021-12-08 12:20:18 +08:00
Gabriel Arazas
d4f15e4c0b
Modularize flake utilities
2021-12-06 17:56:34 +08:00
Gabriel Arazas
889742c402
Add library and desktop modules
2021-12-06 17:53:34 +08:00
Gabriel Arazas
40cca61bbe
Update library and custom modules
...
- Add custom GNOME configurations with dconf keyfiles.
- Refactoring in certain parts of files especially with handling merging
and importing of modules.
2021-12-02 21:45:49 +08:00
Gabriel Arazas
0f6cf8871f
Update config and format the files
2021-11-30 09:03:05 +08:00
Gabriel Arazas
2cf96cb1f3
Format the Nix files
2021-11-29 17:58:02 +08:00
Gabriel Arazas
db5fc8269e
Update user-specific config
...
Oh no, now I'm content with creating my own framework instead of using
something like digga or flake-utils.
2021-11-29 13:30:57 +08:00
Gabriel Arazas
a34674f672
Update config
2021-11-27 16:04:01 +08:00
Gabriel Arazas
f038f48464
Format the Nix files properly
2021-11-25 21:45:48 +08:00
Gabriel Arazas
539a798009
Rewrite as a flake
...
I revisited NixOS this week and I've rewritten my NixOS config from
scratch. I must say I really like Nix flakes. For whatever reason it
just clicked and I understood more programming with Nix despite my
previous experience which is not good. Could be just the fact I had a
break for a long time from completely using Nix (I still used it on
non-NixOS distros).
Eh... I still took some things from the original inspiration of this
configuration so there's that.
2021-11-25 19:55:30 +08:00
Gabriel Arazas
c74dd2ff17
Use nixfmt to all files
2020-10-25 23:49:14 +08:00
Gabriel Arazas
0337611eb1
Update the config
2020-10-20 23:59:30 +08:00