diff options
Diffstat (limited to 'parts/lib/utils.nix')
| -rw-r--r-- | parts/lib/utils.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/parts/lib/utils.nix b/parts/lib/utils.nix new file mode 100644 index 0000000..f830b1c --- /dev/null +++ b/parts/lib/utils.nix @@ -0,0 +1,36 @@ +{ + self, + inputs, + withSystem, + ... +}: let + deployPkgs = import inputs.nixpkgs rec { + system = "x86_64-linux"; + overlays = [ + inputs.deploy-rs.overlay + (_: prev: { + deploy-rs = { + inherit (withSystem system (p: p.pkgs)) deploy-rs; + inherit (prev.deploy-rs) lib; + }; + }) + ]; + }; +in { + mkDeployNodes = hosts: let + inherit (builtins) attrNames listToAttrs map; + vals = + map (name: let + system = self.nixosConfigurations.${name}; + in { + inherit name; + value = { + sshUser = "root"; + hostname = system.config.networking.hostName; + profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos system; + }; + }) + (attrNames hosts); + in + listToAttrs vals; +} |
