let local-domain = "sea.fudo.org";
in {
  aliases = {
    deploy = "socrates";
    #dns-hole = "limina";
    #gateway = "limina";
    #hole = "limina";
    home = "lambda";
    home-assist = "wormhole0";
    ipfs = "nostromo";
    # kadmin = "nostromo";
    # kdc = "nostromo";
    music = "doraemon";
    #panopticon = "lambda";
    #panopticon-od = "lambda";
    photo = "doraemon";
    #pihole = "limina";
    sea-store = "nostromo";
    mqtt = "wormhole0";
  };

  srv-records = {
    tcp = {
      # domain = [{
      #   port = 53;
      #   host = "limina.sea.fudo.org";
      # }];
      # kerberos = [{
      #   port = 88;
      #   host = "france.fudo.org";
      # }];
      # kerberos-adm = [{
      #   port = 88;
      #   host = "france.fudo.org";
      # }];
      ssh = [{
        port = 22;
        host = "limina.sea.fudo.org";
      }];
      # ldap = [{
      #   port = 389;
      #   host = "france.fudo.org";
      # }];
    };

    udp = {
      # domain = [{
      #   port = 53;
      #   host = "limina.sea.fudo.org";
      # }];
      # kerberos = [{
      #   port = 88;
      #   host = "france.fudo.org";
      # }];
      # kerboros-master = [{
      #   port = 88;
      #   host = "france.fudo.org";
      # }];
      # kpasswd = [{
      #   port = 464;
      #   host = "france.fudo.org";
      # }];
    };
  };

  hosts = {
    limina = {
      ipv4-address = "10.0.0.1";
      mac-address = "02:fd:79:94:a2:a8";
    };
    switch-master = {
      ipv4-address = "10.0.0.5";
      mac-address = "00:14:1C:B6:BB:40";
    };
    google-wifi = {
      ipv4-address = "10.0.0.7";
      mac-address = "7C:D9:5C:9F:6F:E9";
    };
    nostromo = {
      ipv4-address = "10.0.0.10";
      mac-address = "02:14:25:55:ee:5a";
    };
    lambda = {
      ipv4-address = "10.0.0.11";
      mac-address = "02:f5:fe:8c:22:fe";
    };
    socrates = {
      ipv4-address = "10.0.0.20";
      mac-address = "02:f2:30:b8:71:42";
    };
    plato.ipv4-address = "10.0.0.21";
    wormhole0.ipv4-address = "10.0.0.3";

    cam-entrance = {
      ipv4-address = "10.0.0.31";
      mac-address = "9c:8e:cd:0e:99:7b";
    };
    cam-driveway = {
      ipv4-address = "10.0.0.32";
      mac-address = "9c:8e:cd:0d:3b:09";
    };
    cam-deck = {
      ipv4-address = "10.0.0.33";
      mac-address = "9c:8e:cd:0e:98:c8";
    };
    cam-patio = {
      ipv4-address = "10.0.0.34";
      mac-address = "9C:8E:CD:31:2B:4E";
    };
    cam-mobile = {
      ipv4-address = "10.0.0.35";
      mac-address = "08:ea:40:59:5f:9e";
    };
    cargo = {
      ipv4-address = "10.0.0.50";
      mac-address = "00:11:32:75:d8:b7";
    };
    whitedwarf = {
      ipv4-address = "10.0.0.51";
      mac-address = "00:11:32:12:14:1d";
    };
    doraemon = {
      ipv4-address = "10.0.0.52";
      mac-address = "00:11:32:0a:06:c5";
    };
    android = {
      ipv4-address = "10.0.0.81";
      mac-address = "00:16:3e:43:39:fc";
    };
    retro-wired = {
      ipv4-address = "10.0.0.82";
      mac-address = "dc:a6:32:6b:57:43";
    };
    retro = {
      ipv4-address = "10.0.0.83";
      mac-address = "dc:a6:32:6b:57:45";
    };
    monolith = {
      ipv4-address = "10.0.0.100";
      mac-address = "6c:62:6d:c8:b0:d8";
    };
    taipan = {
      ipv4-address = "10.0.0.107";
      mac-address = "52:54:00:34:c4:78";
    };
    spark = {
      ipv4-address = "10.0.0.108";
      mac-address = "02:47:A7:B2:B4:8D";
    };
    hyperion = {
      ipv4-address = "10.0.0.109";
      mac-address = "52:54:00:33:46:de";
    };
    zbox = {
      ipv4-address = "10.0.0.110";
      mac-address = "02:DD:80:52:83:9B";
    };
    system3 = {
      ipv4-address = "10.0.0.111";
      mac-address = "02:0d:df:2d:46:90";
    };
    ubiquiti-wifi = {
      ipv4-address = "10.0.0.126";
      mac-address = "04:18:d6:20:48:fb";
    };
    dev-wifi = {
      ipv4-address = "10.0.0.127";
      mac-address = "C0:06:C3:AA:4D:40";
    };
    generator-wireless = {
      ipv4-address = "10.0.0.130";
      mac-address = "B8:27:EB:A6:32:26";
    };
    brother-wireless = {
      ipv4-address = "10.0.0.160";
      mac-address = "c0:38:96:64:49:65";
    };
    nest = {
      ipv4-address = "10.0.0.176";
      mac-address = "18:b4:30:16:7c:5a";
    };
    xixi-phone = {
      ipv4-address = "10.0.0.193";
      mac-address = "48:43:7c:75:89:42";
    };
    ipad = {
      ipv4-address = "10.0.0.202";
      mac-address = "9c:35:eb:48:6e:71";
    };
    cam-front = {
      ipv4-address = "10.0.0.203";
      mac-address = "c4:d6:55:3e:b4:c3";
    };
    family-room-tv = {
      ipv4-address = "10.0.0.210";
      mac-address = "84:a4:66:b2:ee:96";
    };
    chromecast-2 = {
      ipv4-address = "10.0.0.215";
      mac-address = "a4:77:33:59:a2:ba";
    };
    front-light = {
      ipv4-address = "10.0.0.221";
      mac-address = "94:10:3e:48:94:ed";
    };
    pselby-work.ipv4-address = "10.0.0.151";
    atom.ipv4-address = "10.0.0.152";

    # Ceph network
    srv-1 = {
      ipv4-address = "10.0.10.1";
      mac-address = "02:65:d7:00:7d:1b";
    };
    node-1 = {
      ipv4-address = "10.0.10.101";
      mac-address = "00:1e:06:36:81:cf";
    };
    node-2 = {
      ipv4-address = "10.0.10.102";
      mac-address = "00:1e:06:36:ec:3e";
    };
    node-3 = {
      ipv4-address = "10.0.10.103";
      mac-address = "00:1e:06:36:ec:4b";
    };
    node-4 = {
      ipv4-address = "10.0.10.104";
      mac-address = "00:1e:06:36:dd:8c";
    };
  };

  subdomains."goog" = let
    mkWifiHosts = builtins.mapAttrs
      (_: num: { ipv4-address = "192.168.86.${toString num}"; });
  in {
    hosts = mkWifiHosts {
      wormhole0 = 2;
      switch = 51;
      jayjay = 52;
      nest-thermostat = 53;
      bedroom-home = 30;
      living-room-tv = 54;
      living-room-home = 31;
      family-room-home = 32;
      kitchen-display = 33;
      tesla-model-3 = 55;
      peter-pixel-5 = 43;
      xiaoxuan-ipad-2 = 42;
      family-room-tv = 57;
      xiaoxuan-ipad-1 = 44;
      xiaoxuan-iphone = 45;
      may-phone = 46;
    };
  };
}