{ ... }:
let
  dnsHosts = builtins.concatStringsSep "\n" [ "wiki.icdm.lan 10.42.101.1" ];
in
{
  # If we have to do proxying in Bayonnais, we can start to work on that here
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
  networking = {
    hostName = "icdm-root";
    useDHCP = false;
    defaultGateway = "10.42.1.1";
    nameservers = [
      "100.100.100.100"
      "10.42.1.2"
    ];
    enableIPv6 = false;

    interfaces = {
      eno1.ipv4.addresses = [
        {
          address = "10.42.101.1";
          prefixLength = 16;
        }
        {
          address = "10.77.1.2";
          prefixLength = 16;
        }
      ];
    };
    # Allow traffic through
    firewall = {
      enable = true;
      allowedTCPPorts = [ 53 ];
      allowedUDPPorts = [
        53
        67
      ];
    };

    extraHosts = "${dnsHosts}";
  };

  services.dnsmasq = {
    enable = true;
    settings = {
      domain = "icdm.lan";
      dhcp-range = [ "eno1,10.77.1.10,10.77.1.255,255.255.0.0,12h" ];
      dhcp-option = [
        "eno1,option:router,10.77.1.1"
        "eno1,option:dns-server,10.77.1.2,1.1.1.1"
        "eno1,option:domain-search,icdm.lan"
      ];
      expand-hosts = true;
      log-dhcp = true;
      log-queries = true;
      # Upstream servers
      server = [
        "1.1.1.1"
        "8.8.4.4"
      ];
    };
  };
}
