all repos — nixfiles @ a6c98190d79e40bb164fc80348ce143f40b00cd8

System and user configuration, managed by nix and home-manager

data/default.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
let
  homenet = "home.arpa";
  pubnet = "alin.ovh";
  pubnethosts = "hosts.${pubnet}";
  tailnet = "fin-marlin.ts.net";
  ulaPrefix = "fd12:d04f:65d";

  machines = {
    r5 = {
      publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM1oPhD2wJA0MSQPqTBdjxWlNbZN0nOT9D9sxWJBFcS";
      domains = [
        homenet
        tailnet
      ];
      builder = {
        system = "aarch64-linux";
        maxJobs = 4;
      };
    };
    hasel = {
      publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIaV14RWED5RhN5XIDhdV48d0OIw7eFf1t5eSIiCZ68D";
      domains = [
        tailnet
        pubnethosts
      ];
      aliases = [
        "git.${pubnet}"
      ];
      builder = {
        system = "x86_64-linux";
      };
    };
    ulme = {
      publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINnjmkEFf/eZ4o1YmawRK8KoPcL8c+4cf05NZFwNEWRM";
      domains = [
        tailnet
        pubnethosts
      ];
      builder = {
        system = "x86_64-linux";
      };
    };
    prefect = {
      publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIOYKUAEWDEFVf0r3V3Brmj5Coko+eB6acXOryvzq10t";
      domains = [
        tailnet
        homenet
      ];
    };
  };

  canon = hostname: map (d: "${hostname}.${d}");
in
{
  inherit
    homenet
    pubnet
    tailnet
    ulaPrefix
    ;

  machines = builtins.mapAttrs (
    name: machine:
    machine
    // {
      extraHostNames = canon name machine.domains;
    }
  ) machines;

  dnsProviders = {
    quad9 = {
      hostname = "dns.quad9.net";
      addresses = [
        "2620:fe::fe"
        "2620:fe::9"
        "9.9.9.9"
        "149.112.112.112"
      ];
    };
    dnssb = {
      hostname = "dot.sb";
      addresses = [
        "2a09::"
        "2a11::"
        "45.11.45.11"
        "185.222.222.222"
      ];
    };
  };
}