diff --git a/modules/nixos/services/identity.nix b/modules/nixos/services/identity.nix index 86b14cb..dadedd6 100644 --- a/modules/nixos/services/identity.nix +++ b/modules/nixos/services/identity.nix @@ -4,7 +4,10 @@ systemd.services.wait-for-identity = { description = "Wait until identity file exists on the machine"; wantedBy = [ "multi-user.target" ]; - serviceConfig = { Type = "oneshot"; }; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; script = '' for i in $(seq 1 10); do if [ -f ${config.identityFile} ]; then diff --git a/modules/nixos/services/secrets.nix b/modules/nixos/services/secrets.nix index 5b581b3..851a633 100644 --- a/modules/nixos/services/secrets.nix +++ b/modules/nixos/services/secrets.nix @@ -68,7 +68,8 @@ description = "Decrypt secret for ${name}"; wantedBy = [ "multi-user.target" ]; - requires = [ "wait-for-identity.service" ]; + bindsTo = [ "wait-for-identity.service" ]; + after = [ "wait-for-identity.service" ]; serviceConfig.Type = "oneshot"; script = '' echo "${attrs.prefix}$(