diff --git a/flake.nix b/flake.nix index 10cfae2..90c78e8 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,14 @@ "x86_64-linux" "aarch64-linux" ]; + mkDeployNode = hostName: { + hostname = "${hostName}.mesh.vimium.net"; + + profiles.system = { + user = "root"; + path = inputs.deploy-rs.lib.${self.nixosConfigurations.${hostName}.config.system.build.toplevel.system}.activate.nixos self.nixosConfigurations.${hostName}; + }; + }; in { overlays = lib.packagesFromDirectoryRecursive { @@ -97,40 +105,7 @@ magicRollback = true; autoRollback = true; sshUser = "root"; - nodes = { - mail = { - hostname = "mail.mesh.vimium.net"; - - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.mail; - }; - }; - vps1 = { - hostname = "vps1.mesh.vimium.net"; - - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vps1; - }; - }; - pi = { - hostname = "pi.mesh.vimium.net"; - - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.pi; - }; - }; - skycam = { - hostname = "skycam.mesh.vimium.net"; - - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.skycam; - }; - }; - }; + nodes = lib.genAttrs [ "mail" "pi" "skycam" "vps1" ] mkDeployNode; }; checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib;