diff --git a/hosts/ward/default.nix b/hosts/ward/default.nix index e0ea278..8104c8e 100644 --- a/hosts/ward/default.nix +++ b/hosts/ward/default.nix @@ -67,7 +67,7 @@ modules = [ ../../modules ./guests/common.nix - ({config, ...}: {node.secretsDir = ./secrets + "/${config.node.name}";}) + ({config, ...}: {node.secretsDir = ./secrets + "/${config.node.guestName}";}) mainModule ]; }; diff --git a/modules/config/secrets.nix b/modules/config/secrets.nix index 26fc11d..fbe2676 100644 --- a/modules/config/secrets.nix +++ b/modules/config/secrets.nix @@ -56,6 +56,6 @@ # TODO See https://github.com/ryantm/agenix/pull/187. system.activationScripts = lib.mkIf (config.age.secrets != {}) { removeAgenixLink.text = "[[ ! -L /run/agenix ]] && [[ -d /run/agenix ]] && rm -rf /run/agenix"; - activationScripts.agenixNewGeneration.deps = ["removeAgenixLink"]; + agenixNewGeneration.deps = ["removeAgenixLink"]; }; } diff --git a/modules/guests/common-guest-config.nix b/modules/guests/common-guest-config.nix index 82a951b..b04a3fb 100644 --- a/modules/guests/common-guest-config.nix +++ b/modules/guests/common-guest-config.nix @@ -1,6 +1,7 @@ -_guestName: guestCfg: {lib, ...}: let +guestName: guestCfg: {lib, ...}: let inherit (lib) mkForce; in { + node.guestName = guestName; node.name = guestCfg.nodeName; node.type = guestCfg.backend; diff --git a/modules/guests/default.nix b/modules/guests/default.nix index 2381154..57064ce 100644 --- a/modules/guests/default.nix +++ b/modules/guests/default.nix @@ -97,10 +97,17 @@ in { } ]; - options.node.type = mkOption { - type = types.enum ["host" "microvm" "container"]; - description = "The type of this machine."; - default = "host"; + options.node = { + type = mkOption { + type = types.enum ["host" "microvm" "container"]; + description = "The type of this machine."; + default = "host"; + }; + + guestName = mkOption { + type = types.str; + description = "The base name of this machine without the parent's name. Only defined if this is a guest."; + }; }; options.containers = mkOption {