let
users = {
alan = [
"age1se1qwz9tsr7fq6m7rh3fj44fh6vcth53x9lcff9jeangg43v66vznxus3vp5mz" # marvin age-plugin-se
];
};
machines = {
linde = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHdh3J7dEmh9G+CVmzFEC8/ont35ZXpCFcpLUO863vC";
nano = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHevZUbjDEt2bPnoLmv9wH5vTh/BeKddwnFD3f3QtMz";
};
secrets = with machines; {
acme = [
linde
nano
];
redis-website = [ linde ];
rauthy = [ linde ];
binarycache = [ linde ];
forgejo-actions-runner = [ linde ];
paperless = [ linde ];
powerdns = [ linde ];
photoprism = [ linde ];
cifs-photoprism = [ linde ];
cifs-paperless = [ linde ];
cifs-transmission = [ linde ];
cifs-jellyfin = [ linde ];
dyndns = [ nano ];
syncthing = [ nano ];
};
in
builtins.listToAttrs (
map (secretName: {
name = "${secretName}.age";
value.publicKeys = secrets.${secretName} ++ users.alan;
}) (builtins.attrNames secrets)
)
secrets/secrets.nix (view raw)