{ pkgs, adblock-unbound, ... }: { networking.firewall.allowedUDPPorts = [ 67 ]; services.kea.dhcp4 = { enable = true; settings = { interfaces-config = { dhcp-socket-type = "raw"; interfaces = [ "enabcm6e4ei0" ]; }; lease-database = { name = "/var/lib/kea/dhcp4.leases"; persist = true; type = "memfile"; }; rebind-timer = 2000; renew-timer = 1000; valid-lifetime = 4000; subnet4 = [ { subnet = "192.168.178.0/24"; pools = [ { pool = "192.168.178.2 - 192.168.178.255"; } ]; option-data = [ { name = "domain-name-servers"; space = "dhcp4"; csv-format = true; data = "192.168.178.2"; always-send = true; } { name = "routers"; data = "192.168.178.1"; always-send = true; } ]; reservations = [ # Pie should set ip itself { hostname = "droppie.local"; hw-address = "08:f1:ea:97:0f:0c"; ip-address = "192.168.178.3"; } { hostname = "brwb8763f64a364.local"; hw-address = "b8:76:3f:64:a3:64"; ip-address = "192.168.178.4"; } # { # hostname = "chocolatebar.local"; # hw-address = "48:a4:72:1d:29:32"; # ip-address = "192.168.178.5"; # } { hostname = "biolimo.local"; hw-address = "48:a4:72:1d:29:32"; ip-address = "192.168.178.6"; } ]; } ]; }; }; services.kea.dhcp6 = { enable = true; settings = { interfaces-config = { interfaces = [ "enabcm6e4ei0" ]; }; lease-database = { name = "/var/lib/kea/dhcp6.leases"; persist = true; type = "memfile"; }; rebind-timer = 2000; renew-timer = 1000; valid-lifetime = 4000; subnet6 = [ { subnet = "2a02:908:5b1:e3c0::/64"; pools = [ { pool = "2a02:908:5b1:e3c0::/64"; } ]; option-data = [ { name = "dns-servers"; code = 23; space = "dhcp6"; csv-format = true; data = "2a02:908:5b1:e3c0:2::"; } ]; reservations = [ { hostname = "droppie.local"; hw-address = "08:f1:ea:97:0f:0c"; ip-addresses = [ "2a02:908:5b1:e3c0:3::" ]; } # { # hostname = "chocolatebar.local"; # hw-address = "08:f1:ea:97:0f:0c"; # ip-addresses = [ # "2a02:908:5b1:e3c0:5::" # ]; # } { hostname = "biolimo.local"; hw-address = "48:a4:72:1d:29:32"; ip-addresses = [ "2a02:908:5b1:e3c0:6::" ]; } ]; } ]; }; }; }