{ config, pkgs, ... }: { services.kea.dhcp4 = { enable = true; settings = { lease-database = { name = "/var/lib/kea/dhcp4.leases"; persist = true; type = "memfile"; }; rebind-timer = 2000; renew-timer = 1000; valid-lifetime = 4000; authoritative = true; option-data = [ { name = "domain-name-servers"; data = "94.45.254.2"; } { name = "cookie-servers"; data = "94.45.254.3"; always-send = true; } ]; shared-networks = [ { # wifi id = 224; subnet = "94.45.224.0/20"; pools = [ { pool = "94.45.224.10 - 94.45.239.254"; } ]; option-data = [ { name = "routers"; data = "94.45.224.1"; } ]; } { # wired id = 240; subnet = "94.45.240.0/21"; pools = [ { pool = "94.45.240.10 - 94.45.240.254"; } ]; option-data = [ { name = "routers"; data = "94.45.240.1"; } ]; } { # Management id = 255; subnet = "94.45.255.0/24"; pools = [ { pool = "94.45.255.200 - 94.45.255.254"; } ]; option-data = [ { name = "routers"; data = "94.45.255.1"; } ]; } { # Public Services reachable event ONLY id = 54; subnet = " 94.45.254.0/25"; pools = [ { pool = "94.45.254.100 - 94.45.255.126"; } ]; option-data = [ { name = "routers"; data = "94.45.254.1"; } ]; } { # Public Services reachable EVERYWHERE id = 541; subnet = "94.45.254.128/25"; pools = [ { pool = "94.45.254.230 - 94.45.255.253"; } ]; option-data = [ { name = "routers"; data = "94.45.254.128"; } ]; } ]; }; }; }