service -> services

This commit is contained in:
Taeer Bar-Yam 2022-01-18 08:51:45 -05:00
parent 20ed4c9917
commit ff2c06f69f

View file

@ -95,11 +95,11 @@ let
default = ""; default = "";
description = "A script to run when secret is updated."; description = "A script to run when secret is updated.";
}; };
service = mkOption { services = mkOption {
type = types.str; type = types.listOf types.str;
default = ""; default = [];
description = "The systemd service that uses this secret. Will be restarted when the secret changes."; description = "The systemd services that uses this secret. Will be restarted when the secret changes.";
example = "wireguard-wg0"; example = "[ wireguard-wg0 ]";
}; };
symlink = mkEnableOption "symlinking secrets to their destination" // { default = true; }; symlink = mkEnableOption "symlinking secrets to their destination" // { default = true; };
}; };
@ -213,18 +213,15 @@ in
]; ];
}; };
# services that watch for file changes and exectue the configured action
systemd.services = lib.mkMerge systemd.services = lib.mkMerge
(lib.mapAttrsToList (lib.mapAttrsToList
(name: {action, service, file, path, mode, owner, group, ...}: (name: {action, services, file, path, mode, owner, group, ...}:
let let
fileHash = builtins.hashFile "sha256" file; fileHash = builtins.hashFile "sha256" file;
restartTriggers = [ fileHash path mode owner group ]; restartTriggers = [ fileHash path mode owner group ];
in in
lib.mkMerge [ lib.mkMerge [
(lib.mkIf (service != "") { (lib.genAttrs services (_: { inherit restartTriggers; }))
${service} = { inherit restartTriggers; };
})
(lib.mkIf (action != "") { (lib.mkIf (action != "") {
"agenix-${name}-action" = { "agenix-${name}-action" = {
inherit restartTriggers; inherit restartTriggers;
@ -246,7 +243,8 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
}; };
})]) cfg.secrets); })
]) cfg.secrets);
}; };
} }