summary refs log tree commit diff
path: root/secrets/keys.nix
blob: f8c41620937bab8a586be63be82c0668957c79a8 (plain)
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
let
  machines = {
    bismuth = {
      user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEK96G1n31aJsZOrux3BKM0ztzi/SFAVHn0MsGkPDdqY";
      system = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEP1Q8/07PD5AXghM7cd9Uf54YY8rkuBHfllr1Kzxh10";
    };

    graphite = {
      user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDujTul5wWyGnidLnNuJDRze0Up29l2cDpyKdmvW2Ls";
      system = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHd+EvfxJC1rZbeI6hUq5tPpy8b3Xio02orgMBLwPU2l";
    };

    moissanite = {
      user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTG/DHTkuQgwLakSBuXx3XBe+WjUmDlSgLBGzldx/ZD";
      system = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPy6IFaPkJMT89s1PZ/ekFGDKF2kvsRuAUB5NTtYQPSL";
    };

    serpentine = {
      user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG5NvO2aRvSQ27yMsI+tHx3NMvIGIDmrnCxRqHKHlg7m";
      system = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIETlqAZIXCadR67arZnZIkoCiesJOl5Ssm/xS+ZwOhB7";
    };

    wolfram = {
      user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAcIoMFGmTTo6SQC/3wis0dgn6vUryl6R8ud2mFebaPi";
      system = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFXQWM9ogGVtLkN48osot2UPlx4Og7V3B9zFBO/emekh";
    };
  };

  keysOfType = type: from: with builtins; catAttrs type (attrValues from);

  machinesWithKey = type: from: builtins.mapAttrs (m: k: k.${type}) from;
in
rec {
  inherit machines;

  # keys of admin accounts on network machines
  allUsers = keysOfType "user" machines;
  # system host keys of all network machines
  allSystems = keysOfType "system" machines;
  # all keys, whether system or user
  all = allUsers ++ allSystems;

  # user keys per machine
  user = machinesWithKey "user" machines;
  # system keys per machine
  system = machinesWithKey "system" machines;
}