secrets/secrets.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 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)
)
|