all repos — nixfiles @ e1a0a4235c4695c47ddbd5183738e768f2d62345

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

system/hosts/hasel.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
let
  hostname = "hasel";
in
{
  imports = [
    ./hasel-hardware.nix
    ../roles/remote.nix
    ../roles/server.nix

    ../roles/auth-dns.nix
    ../roles/binary-cache.nix
    ../roles/calendar-anonymiser.nix
    ../roles/ci.nix
    ../roles/exit-node.nix
    ../roles/file-server.nix
    ../roles/forgejo-runner.nix
    ../roles/git-server.nix
    ../roles/goatcounter.nix
    ../roles/go-vanity.nix
    ../roles/nix-remote-builder.nix
    ../roles/paperless.nix
    ../roles/push-notifications.nix
    ../roles/readeck.nix
    ../roles/redis-website.nix
    ../roles/searchix.nix
    ../roles/searchix-stable-container.nix
    ../roles/sso.nix
    ../roles/syncthing.nix
    ../roles/torrent-client.nix
    ../roles/webserver/reverse-proxy.nix
  ];
  system.stateVersion = "26.05";

  boot.loader = {
    timeout = 1;
    grub = {
      enable = true;
      device = "/dev/vda";
    };
  };
  services.qemuGuest.enable = true;

  networking = {
    hostName = hostname;
    defaultGateway = {
      address = "185.55.243.1";
      interface = "ens18";
    };
    defaultGateway6 = {
      address = "2a00:1913::1";
      interface = "ens18";
    };
    nameservers = [
      "9.9.9.9"
      "1.1.1.1"
    ];
    interfaces = {
      ens18 = {
        ipv4.addresses = [
          {
            address = "185.55.243.110";
            prefixLength = 24;
          }
        ];
        ipv6.addresses = [
          {
            address = "2a00:1913:682b::";
            prefixLength = 32;
          }
        ];
      };
    };
  };
}