nixos: extract personal configuration from modules

This commit is contained in:
Primrose 2025-02-19 12:25:39 +01:00
parent dda38005f8
commit 28d52c2624
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA
2 changed files with 33 additions and 34 deletions

View file

@ -23,11 +23,40 @@
{nixpkgs.hostPlatform = system;}
nixpkgsConfig
# nixos modules
self.nixosModules.commonModules
self.nixosModules.${"named-" + hostname}
or (abort ''
Expects a named NixOS module corresponding to the NixOS Configuration.
What you are doing doesn't make sense.
'')
# disko
inputs.disko.nixosModules.default
self.diskoConfigurations.${hostname} or {}
# user configuration
self.nixosModules.leana
inputs.home-manager.nixosModules.home-manager
({
config,
lib,
...
}: {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs.hostname = hostname;
sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}];
users.leana.imports = [
self.homeModules.${"named-" + hostname}
or (
builtins.trace "No named home-manager configuration supplied for named system config `${hostname}', defaulting to common modules."
self.homeModules.commonModules
)
];
};
})
];
in
many (