diff options
| author | beeb5k <beebeeb5k@gmail.com> | 2026-03-06 21:37:34 +0530 |
|---|---|---|
| committer | beeb5k <beebeeb5k@gmail.com> | 2026-03-06 21:37:34 +0530 |
| commit | 0de067092c9dd19c3352554e39de73e172f29b42 (patch) | |
| tree | 4175503766405733846687efdb29657bb322dccd /lib | |
| parent | f1de2014dcd426e015a2638222160d9d349ea4e5 (diff) | |
Add modules
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 + ; + }; }; } |
