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

@ -26,40 +26,10 @@
extra = modulesFromDir ./extra;
# per host configuration
named = lib.mapAttrs' (name: path: {
name = "named-" + name;
value.imports = [
self.nixosModules.commonModules
inputs.disko.nixosModules.default
self.diskoConfigurations.${name} or {}
# user configuration
self.nixosModules.leana
inputs.home-manager.nixosModules.home-manager
({
config,
lib,
...
}: {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs.hostname = name;
sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}];
users.leana.imports = [
self.homeModules.${"named-" + name}
or (
builtins.trace "No named home-manager configuration supplied for named system config `${name}', defaulting to common modules."
self.homeModules.commonModules
)
];
};
})
path
];
}) (modulesFromDir ./named);
named =
lib.mapAttrs'
(name: lib.nameValuePair ("named-" + name))
(modulesFromDir ./named);
in
lib.mergeAttrsList [
{commonModules.imports = lib.attrValues common;}