rec {
  privateIPv6Prefix = "fd3a:900e:8e74:ffff";
  domain = "wg.ataraxiadev.com";
  hasIPv6 = false;

  interfaces = {
      # This is the public-facing interface. Any interface name with a prime
      # symbol means it's a public-facing interface.
      main' = {
        mac = "bc:24:11:79:81:d7";
        bridgeName = "br0";
        ifname = "enp0s18";
        IPv4 = {
          address = "45.135.180.193/32";
          gateway = "45.135.180.1";
          dns = [ "9.9.9.9" "149.112.112.112" ];
        };
        IPv6 = {
          address = "";
          gateway = "";
          dns = [ ];
        };
      };

      wireguard0 = {
        ifname = "wg0";
        dns = [ "${privateIPv6Prefix}::0:53" ];
        IPv4 = {
          address = "10.100.0.1";
          subnet = "10.100.0.0/16";
        };
        IPv6 = {
          address = "${privateIPv6Prefix}::1";
          subnet = "${privateIPv6Prefix}::0/64";
        };
      };
    };

  # Wireguard-related things.
  wireguardPort = 40820;
  wireguardIPv4Prefix = "10.100.0";
  wireguardIPv6Prefix = "${privateIPv6Prefix}::0";
  wireguardPeers = {
    server = with interfaces.wireguard0; {
      IPv4 = IPv4.address;
      IPv6 = IPv6.address;
    };
    ataraxia = {
      IPv4 = "${wireguardIPv4Prefix}.2";
      IPv6 = "${wireguardIPv6Prefix}:2";
    };
    hypervisor = {
      IPv4 = "${wireguardIPv4Prefix}.3";
      IPv6 = "${wireguardIPv6Prefix}:3";
    };
    mikrotik = {
      IPv4 = "${wireguardIPv4Prefix}.4";
      IPv6 = "${wireguardIPv6Prefix}:4";
    };
    poco = {
      IPv4 = "${wireguardIPv4Prefix}.5";
      IPv6 = "${wireguardIPv6Prefix}:5";
    };
    kpoxa = {
      IPv4 = "${wireguardIPv4Prefix}.6";
      IPv6 = "${wireguardIPv6Prefix}:6";
    };
    kpoxa2 = {
      IPv4 = "${wireguardIPv4Prefix}.7";
      IPv6 = "${wireguardIPv6Prefix}:7";
    };
    faysss = {
      IPv4 = "${wireguardIPv4Prefix}.8";
      IPv6 = "${wireguardIPv6Prefix}:8";
    };
    faysss2 = {
      IPv4 = "${wireguardIPv4Prefix}.9";
      IPv6 = "${wireguardIPv6Prefix}:9";
    };
    faysss3 = {
      IPv4 = "${wireguardIPv4Prefix}.10";
      IPv6 = "${wireguardIPv6Prefix}:a";
    };
    doste = {
      IPv4 = "${wireguardIPv4Prefix}.11";
      IPv6 = "${wireguardIPv6Prefix}:b";
    };
    dell = {
      IPv4 = "${wireguardIPv4Prefix}.12";
      IPv6 = "${wireguardIPv6Prefix}:c";
    };
    hypervisor-dns = {
      IPv4 = "${wireguardIPv4Prefix}.13";
      IPv6 = "${wireguardIPv6Prefix}:d";
    };
  };
}
