diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/mkFlakeOutputs.nix | 72 |
1 files changed, 63 insertions, 9 deletions
diff --git a/lib/mkFlakeOutputs.nix b/lib/mkFlakeOutputs.nix index 20952d3..e1bf1c7 100644 --- a/lib/mkFlakeOutputs.nix +++ b/lib/mkFlakeOutputs.nix @@ -13,19 +13,36 @@ let # Shared: build a NixOS system derivation buildSystem = - { system, hostname, user, systemState }: + { + system, + hostname, + user, + systemState, + }: let hostConfig = import ../hosts/${hostname} { inherit user systemState hostname; }; in nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { inherit inputs user hostname systemState importer; }; + specialArgs = { + inherit + inputs + user + hostname + systemState + importer + ; + }; modules = [ hostConfig ]; }; # Shared: build a standalone Home Manager derivation buildHome = - { system, user, systemState }: + { + system, + user, + systemState, + }: let homeConfig = import ../users/${user} { inherit user systemState; }; pkgs = import nixpkgs { @@ -45,15 +62,32 @@ in { # NixOS + standalone Home Manager (two separate outputs) mkSystemWithHM = - { system, hostname, user, systemState }: { - nixosConfigurations.${hostname} = buildSystem { inherit system hostname user systemState; }; + system, + hostname, + user, + systemState, + }: + { + nixosConfigurations.${hostname} = buildSystem { + inherit + system + hostname + user + systemState + ; + }; homeConfigurations.${user} = buildHome { inherit system user systemState; }; }; # NixOS with Home Manager as a NixOS module (single output, HM is baked in) mkSystemWithHMasModule = - { system, hostname, user, systemState }: + { + system, + hostname, + user, + systemState, + }: let hostConfig = import ../hosts/${hostname} { inherit user systemState hostname; }; homeConfig = import ../users/${user} { inherit user systemState; }; @@ -61,7 +95,15 @@ in { nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { inherit inputs user hostname systemState importer; }; + specialArgs = { + inherit + inputs + user + hostname + systemState + importer + ; + }; modules = [ hostConfig home-manager.nixosModules.home-manager @@ -77,8 +119,20 @@ in # NixOS only, no Home Manager at all mkSystem = - { system, hostname, user, systemState }: { - nixosConfigurations.${hostname} = buildSystem { inherit system hostname user systemState; }; + system, + hostname, + user, + systemState, + }: + { + nixosConfigurations.${hostname} = buildSystem { + inherit + system + hostname + user + systemState + ; + }; }; } |
