main
 1{
 2  den.hosts.hyacine = {
 3    address = {
 4      ipv4.secret = {
 5        name = "host-ipv4-hyacine";
 6        file = ./ipv4.age;
 7      };
 8      ipv4.tailscale = "100.127.6.231";
 9      ipv6.tailscale = "fd7a:115c:a1e0:675d:6820:4fa0:fddc:a59";
10    };
11  };
12
13  den.aspects.hyacine = {
14    nixos = {config, ...}: {
15      boot.kernelParams = [
16        "net.ifnames=0" # Useless in VPS
17      ];
18
19      networking = {
20        useNetworkd = true;
21        useDHCP = false;
22      };
23
24      systemd.network.networks = {
25        "40-eth0" = {
26          matchConfig.Name = "eth0";
27          linkConfig.RequiredForOnline = "routable";
28        };
29      };
30
31      environment.etc."systemd/network/40-eth0.network.d/99-address-n-routes.conf" = {
32        source = config.vaultix.templates.networkd-secrets.path;
33      };
34
35      vaultix.templates.networkd-secrets = {
36        content = ''
37          [Network]
38          Address=${config.vaultix.placeholder.host-ipv4-hyacine}/24
39
40          [Route]
41          Gateway=${config.vaultix.placeholder.host-gateway4-hyacine}
42          Destination=0.0.0.0/0
43        '';
44        owner = "systemd-network";
45        group = "systemd-network";
46        mode = "0440";
47      };
48      vaultix.secrets.host-ipv4-hyacine.file = ./ipv4.age;
49      vaultix.secrets.host-gateway4-hyacine.file = ./gateway4.age;
50    };
51  };
52}