let users = { alin = [ "age1se1qwz9tsr7fq6m7rh3fj44fh6vcth53x9lcff9jeangg43v66vznxus3vp5mz" # marvin age-plugin-se ]; }; machines = { linde = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHdh3J7dEmh9G+CVmzFEC8/ont35ZXpCFcpLUO863vC"; r5 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAw70HIEZEBQ751WB9aA/mbk0aSebUsAiPIquQp0NcJ5"; smrk = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINU03etY1me+35aJ7DTJID60cHlvYx6lV8A6V+OiR7hr"; }; secrets = with machines; { acme = [ linde smrk r5 ]; redis-website = [ linde ]; caddy = [ linde smrk ]; pocket-id = [ linde ]; binarycache = [ linde ]; paperless = [ linde ]; powerdns = [ smrk ]; cifs-paperless = [ linde ]; cifs-transmission = [ linde ]; cifs-jellyfin = [ linde ]; ntfy = [ linde ]; readeck = [ linde ]; open-webui = [ linde ]; codeberg-runner = [ linde smrk ]; dyndns = [ r5 ]; syncthing = [ r5 ]; }; in builtins.listToAttrs ( map (secretName: { name = "${secretName}.age"; value.publicKeys = secrets.${secretName} ++ users.alin; }) (builtins.attrNames secrets) )