with builtins; rec { keys = { # yubikey ssh key "yubikey" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILRs6zVljIlQEZ8F+aEBqqbpeFJwCw3JdveZ8TQWfkev cardno:000615938515"; }; # levitation ssh key "levitation" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG0zeLTlg++shIYcqxksDVkTtHS3MIvlqPIIW+9pufQa nathan@levitation"; }; # WSL key "wsl" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXEV5lvLQ1CcPuJANv5AiYxtcRFEYXD5nODCazWnYC5 nathan@mccarty.io"; }; # Phone key "phone" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFR0zpmBCb0iEOeeI6SBwgucddNzccfQ5Zmdgib5iSmF nix-on-droid@localhost"; }; # Tablet key "tablet" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKltqneJjfdLjOvnWQC2iP7hP7aTYkURPiR8LFjB7z87 nix-on-droid@localhost"; }; # Macbook key "extremophile" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPLIZC4A4OhpTvfoL5jeMb1Ong9CwZ/URCYZL6y4Gp7b nathan@extremophile.local"; }; # vm key "productivity-vm" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINbfxMLFV7YuyOuS75VR15FG46ffbHqPbAHk8lBJgDi8 nathan@nixos"; }; # oracles key "oracles" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAj6He0uDnJAZsfywoUwOSAnxqpbO9UnfcAV78a1SUGa nathan@oracles"; }; # fusion key "fusion" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICILeBcpPVs12pDnsOPyDVwnwReCbrqzXMF+cV5bWCCa nathan@fusion"; }; # pendulum key "pendulum" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICIDzy3m10s1sciUCfT1B/IzHeyOenHBxp47jkVrhBfm nathan@pendulum"; }; }; signingKeys = { # Git automation bot "strangerbot" = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINC2cOHgeJaUfwp9DMX6oeIaSfD7pDKN3PUo2+6prC7N strangerbot@oracles"; emails = [ "bot@stranger.systems" ]; }; }; list = map (x: x.key) (attrValues keys); allowedSigners = concatStringsSep "\n" (map (x: "${ concatStringsSep "," (x.emails or [ "*@mccarty.io" "*@stranger.systems" ]) } ${x.key}") ((attrValues keys) ++ (attrValues signingKeys))); }