aboutsummaryrefslogtreecommitdiff
path: root/infra/hosts/indra/networking.nix
blob: 066a8ef78c072c1c4c2a0ecb668e664d220c70c5 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  flake.modules.nixos.indra =
    { lib, ... }:
    {
      networking = {
        hostName = "indra";
        hostId = "3390dcf8";

        # The following is required to make installing Nix via `nixos-anywhere`
        # work. This is the output from running `makeNetworkConf` from
        # `nixos-infect`.
        nameservers = [
          "8.8.8.8"
        ];
        defaultGateway = "145.223.22.254";
        defaultGateway6 = {
          address = "2a02:4780:12::1";
          interface = "eth0";
        };
        dhcpcd.enable = false;
        usePredictableInterfaceNames = lib.mkForce false;
        interfaces = {
          eth0 = {
            ipv4.addresses = [
              {
                address = "145.223.22.205";
                prefixLength = 24;
              }
            ];
            ipv6.addresses = [
              {
                address = "2a02:4780:12:f97f::1";
                prefixLength = 48;
              }
              {
                address = "fe80::42e8:d4ff:feae:c8a4";
                prefixLength = 64;
              }
            ];
            ipv4.routes = [
              {
                address = "145.223.22.254";
                prefixLength = 32;
              }
            ];
            ipv6.routes = [
              {
                address = "2a02:4780:12::1";
                prefixLength = 128;
              }
            ];
          };
        };
      };

      services.udev.extraRules = ''
        ATTR{address}=="40:e8:d4:ae:c8:a4", NAME="eth0"
      '';
    };
}