26 lines
496 B
Nix
26 lines
496 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
sortedGenerators = lib.toposort (a: b: builtins.elem a.name b.dependencies) (
|
|
lib.attrValues config.clan.core.vars.generators
|
|
);
|
|
generateSecrets = ''
|
|
${lib.concatStringsSep "\n" (_gen: ''
|
|
v
|
|
'') sortedGenerators}
|
|
'';
|
|
in
|
|
{
|
|
config = lib.mkIf (config.clan.core.vars.settings.secretStore == "on-machine") {
|
|
environment.systemPackages = [
|
|
(pkgs.writeShellApplication {
|
|
text = generateSecrets;
|
|
})
|
|
];
|
|
};
|
|
}
|