let
  moritz = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGoAqa2m7hIzZ2LS96Z+RCIlRvhBM/j7h27tMBCwMT+a";
  moritz-work = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJL7tPbKxru90fYSy1+WkkVKtP88dRbVP7M2fEavdqJ";
  users = [ moritz moritz-work ];

  nixos-laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDhtwHDGAZshiQWKkCcPWV9tC83b+bKBgjDcjP/N2CKO";
  nixos-desktop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKl8gMhwSf1NsP5gp14xbbyjqQLZzcHLb/XKRMoHdXgI";
  nixos-work = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQdruRBgcS3JbX+8DP4GE+28M/ZnxqxhoaMM5EVUkrD";
  scadspc25 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3i/+siSLZmbW/8uM1LCpmR4ErCtS9zdS4aDDSfCESC";

  hosts-personal = [ nixos-laptop nixos-desktop ];
  hosts-work = [ nixos-work scadspc25 ];
  hosts = hosts-personal ++ hosts-work;

  personal = [ moritz ] ++ hosts-personal;
  all = users ++ hosts;
in
{
  "github.age".publicKeys = all;
  "ssh-home.age".publicKeys = personal;
  "uni-vpn.age".publicKeys = personal;
  "wireguard-preshared-key.age".publicKeys = personal;
  "wireguard-private-key.age".publicKeys = personal;
  "webis.age".publicKeys = hosts-personal ++ [ scadspc25 moritz ];
  "webis-ssh.age".publicKeys = hosts-personal ++ [ scadspc25 moritz ];
  "root-password.age".publicKeys = personal;
  "moritz-password.age".publicKeys = personal;
  "exercism.age".publicKeys = personal;
  "openai.age".publicKeys = personal;
  "anthropic.age".publicKeys = personal;
  "nix-github-token.age".publicKeys = personal;
  "email.age".publicKeys = personal;
  "nextcloud.age".publicKeys = personal;
}
