feat(nixos): wire hardware key deps to secrets-for-users module

Add support for activationScriptDeps and systemdDeps in the
secrets-for-users module, ensuring pcscd dependencies are
respected for secrets that need to be available before user
creation (neededForUsers = true).
This commit is contained in:
Ryota 2026-01-17 02:15:00 +00:00
parent 31f9f6cdb4
commit 84a8698b98
No known key found for this signature in database
GPG key ID: 5370567CADB11F6C

View file

@ -35,6 +35,8 @@ in
{
wantedBy = [ "systemd-sysusers.service" ];
before = [ "systemd-sysusers.service" ];
after = cfg.age.systemdDeps;
wants = cfg.age.systemdDeps;
environment = cfg.environment;
unitConfig.DefaultDependencies = "no";
path = cfg.age.plugins;
@ -48,7 +50,11 @@ in
system.activationScripts = lib.mkIf (secretsForUsers != { } && !useSystemdActivation) {
setupSecretsForUsers =
lib.stringAfter ([ "specialfs" ] ++ lib.optional cfg.age.generateKey "generate-age-key") ''
lib.stringAfter (
[ "specialfs" ]
++ lib.optional cfg.age.generateKey "generate-age-key"
++ cfg.age.activationScriptDeps
) ''
[ -e /run/current-system ] || echo setting up secrets for users...
${withEnvironment "${cfg.package}/bin/sops-install-secrets -ignore-passwd ${manifestForUsers}"}
''