main
  1let
  2  #vincent-yubikey5a = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFT5Rx+4Wuvd8lMBkcHxb4oHdRhm/OTg+p5tvPzoIN9enSmgRw5Inm/SlS8ZzV87G1NESTgzDRi6hREvqDlKvxs=";
  3  vincent-yubikey5c1 = "age1yubikey1q0g72w5n3zgt4qv64fkymcttqlpct0yh0rf29079h3696d6wkruakkst877"; # does this work ? Otherwise the ssh one.
  4  # vincent-yubikey5c1 = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBFzxC16VqwTgWDQfw2YCiOw2JzpH3z9XgHtKoHhBdHi2i9m9XUc7fIUeEIIf7P8ARRNd8q5bjvl8JY7LtPkNCU=";
  5  vincent-yubikey5c2 = "age1yubikey1qdj6ld6dlcumxq59xy2xrdl22yu6pc46zyu3mvxe6s9h6kesdm5kcm320qe";
  6  users = [
  7    vincent-yubikey5c1
  8    vincent-yubikey5c2
  9  ];
 10
 11  rhea = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKFH3Lk4bRgNyFRK/Hzg1PvVbL/dpyI1SmLJFkb6VQDw"; # ssh-keyscan -q -t ed25519 rhea.sbr.pm
 12  sakhalin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN/PMBThi4DhgZR8VywbRDzzMVh2Qp3T6NJAcPubfXz6"; # ssh-keyscan -q -t ed25519 sakhalin.sbr.pm
 13  shikoku = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH18c6kcorVbK2TwCgdewL6nQf29Cd5BVTeq8nRYUigm"; # ssh-keyscan -q -t ed25519 shikoku.sbr.pm
 14  # wakasu = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrAh07USjRnAdS3mMNGdKee1KumjYDLzgXaiZ5LYi2D"; # ssh-keyscan -q -t ed25519 wakasu.sbr.pm
 15  # kyushu: decommissioned from NixOS, now Fedora CSB (2026-07-28)
 16  aion = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAXDNi2KtoRU83y/V5OWnMbFWmxwBknPmrNWV4RChE7R"; # ssh-keyscan -q -t ed25519 aion.sbr.pm
 17  aix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEoUicDySCGETPAgmI0P3UrgZEXXw3zNsyCIylUP0bML"; # ssh-keyscan -q -t ed25519 aix.sbr.pm
 18  nagoya = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfep1SkMsAPHggXFLfEJNzZb7eoihtkqDeQruG+TbhF";
 19  okinawa = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8vCZ0h6geJZt6i5k6chEDZBggoyq91Z+oNSjvVeSfW"; # From globals.nix
 20  carthage = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHDurbEy1PiidOirbiPXz84ySdv3rwosPTAlCqacc73a"; # ssh-keyscan -q -t ed25519 carthage.sbr.pm
 21  desktops = [
 22    okinawa
 23  ];
 24  servers = [
 25    aion
 26    aix
 27    carthage
 28    nagoya
 29    rhea
 30    sakhalin
 31    shikoku
 32  ];
 33  systems = servers ++ desktops;
 34in
 35{
 36  # ATProto PDS secrets
 37  "secrets/carthage/pds.env.age".publicKeys = users ++ [ carthage ];
 38  # Restic backup password for carthage
 39  "secrets/carthage/restic-aix-password.age".publicKeys = users ++ [ carthage ];
 40
 41  # Mail passwords
 42  "secrets/mails/icloud-vdemeester.age".publicKeys = users ++ [
 43    sakhalin
 44  ];
 45
 46  # Red Hat
 47  "secrets/redhat/krb5.conf.age".publicKeys = users ++ [
 48    okinawa
 49  ];
 50  "secrets/redhat/RHVPN.ovpn.age".publicKeys = users ++ [
 51    okinawa
 52  ];
 53  "secrets/redhat/AMS2.ovpn.age".publicKeys = users ++ [
 54    okinawa
 55  ];
 56  "secrets/redhat/RDU2.ovpn.age".publicKeys = users ++ [
 57    okinawa
 58  ];
 59  "secrets/redhat/BBRQ.ovpn.age".publicKeys = users ++ [
 60    okinawa
 61  ];
 62  "secrets/redhat/ipa.crt.age".publicKeys = users ++ [
 63    okinawa
 64  ];
 65  "secrets/redhat/2022-RH-IT-Root-CA.pem.age".publicKeys = users ++ [
 66    okinawa
 67  ];
 68  "secrets/redhat/Eng-CA.crt.age".publicKeys = users ++ [
 69    okinawa
 70  ];
 71  "secrets/redhat/newca.crt.age".publicKeys = users ++ [
 72    okinawa
 73  ];
 74  "secrets/redhat/oracle_ebs.crt.age".publicKeys = users ++ [
 75    okinawa
 76  ];
 77  "secrets/redhat/pki-ca-chain.crt.age".publicKeys = users ++ [
 78    okinawa
 79  ];
 80  "secrets/redhat/RH_ITW.crt.age".publicKeys = users ++ [
 81    okinawa
 82  ];
 83  "secrets/redhat/win-intermediate-ca.cer.age".publicKeys = users ++ [
 84    okinawa
 85  ];
 86  "secrets/redhat/redhat.pem.age".publicKeys = users ++ systems;
 87  # Others
 88  "secrets/minica.pem.age".publicKeys = users ++ systems;
 89  "secrets/shikoku/aria2rpcsecret.age".publicKeys = users ++ [ shikoku ];
 90  "secrets/rhea/gandi.env.age".publicKeys = users ++ [
 91    rhea
 92    aion # For XMPP ACME DNS-01 challenge
 93  ];
 94  "secrets/rhea/exportarr-sonarr-apikey.age".publicKeys = users ++ [
 95    rhea
 96    aion
 97  ];
 98  "secrets/rhea/exportarr-radarr-apikey.age".publicKeys = users ++ [
 99    rhea
100    aion
101  ];
102  "secrets/rhea/exportarr-lidarr-apikey.age".publicKeys = users ++ [
103    rhea
104    aion
105  ];
106  "secrets/rhea/exportarr-prowlarr-apikey.age".publicKeys = users ++ [
107    rhea
108    aion
109  ];
110  "secrets/rhea/exportarr-readarr-apikey.age".publicKeys = users ++ [
111    rhea
112    aion
113  ];
114  "secrets/rhea/exportarr-bazarr-apikey.age".publicKeys = users ++ [
115    rhea
116    aion
117  ];
118  "secrets/rhea/jellyfin-auto-collections-api-key.age".publicKeys = users ++ [ rhea ];
119  "secrets/rhea/jellyfin-auto-collections-jellyseerr-password.age".publicKeys = users ++ [ rhea ];
120  "secrets/rhea/jellyfin-favorites-sync-api-key.age".publicKeys = users ++ [ rhea ];
121  "secrets/rhea/jellyfin-favorites-sync-ssh-key.age".publicKeys = users ++ [ rhea ];
122  "secrets/rhea/webdav-password.age".publicKeys = users ++ [ rhea ];
123  "secrets/sakhalin/grafana-admin-password.age".publicKeys = users ++ [ sakhalin ];
124  "secrets/sakhalin/grafana-secret-key.age".publicKeys = users ++ [ sakhalin ];
125  "secrets/sakhalin/ntfy-token.age".publicKeys = users ++ [
126    sakhalin
127    aion
128    okinawa
129    rhea
130    carthage
131  ];
132  "secrets/sakhalin/homeassistant-prometheus-token.age".publicKeys = users ++ [ sakhalin ];
133  "secrets/aion/restic-aix-password.age".publicKeys = users ++ [ aion ];
134  # Wallabag + Miniflux on aion
135  "secrets/aion/miniflux-admin-credentials.age".publicKeys = users ++ [ aion ];
136  "secrets/aion/wallabag-secret-key.age".publicKeys = users ++ [ aion ];
137  # OpenCode web on okinawa
138  "secrets/okinawa/opencode-password.age".publicKeys = users ++ [ okinawa ];
139  "secrets/okinawa/groq-api-key.age".publicKeys = users ++ [ okinawa ];
140  "secrets/okinawa/openrouter-api-key.age".publicKeys = users ++ [ okinawa ];
141  "secrets/okinawa/gemini-api-key.age".publicKeys = users ++ [ okinawa ];
142  # Daneel XMPP bot on okinawa
143  "secrets/okinawa/xmpp-research-bot-password.age".publicKeys = users ++ [ okinawa ];
144  "secrets/rhea/restic-aix-password.age".publicKeys = users ++ [ rhea ];
145
146  # Harmonia binary cache signing keys
147  "secrets/harmonia/aion-signing-key.age".publicKeys = users ++ [ aion ];
148  "secrets/harmonia/okinawa-signing-key.age".publicKeys = users ++ [ okinawa ];
149
150  # SearXNG on sakhalin
151  "secrets/sakhalin/searxng-secret-key.age".publicKeys = users ++ [ sakhalin ];
152
153  # Flux website generator on carthage
154  "secrets/carthage/flux-github-token.age".publicKeys = users ++ [ carthage ];
155}