diff options
| author | adikro <adikro@disroot.org> | 2026-06-12 00:53:25 +0200 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-06-12 00:53:25 +0200 |
| commit | 1eba5398fd09f98bd11cbf8c3b80f20bb9ce1f2d (patch) | |
| tree | c103e3d6ee0e3b2a1e3ac8fd525c08eb7d37e938 /os/srv/kea.nix | |
| parent | 66eff7dbb117ccf9cbf743036f058d5dcb0a78e6 (diff) | |
microvm and dns stuff
Diffstat (limited to 'os/srv/kea.nix')
| -rw-r--r-- | os/srv/kea.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/os/srv/kea.nix b/os/srv/kea.nix new file mode 100644 index 0000000..168590e --- /dev/null +++ b/os/srv/kea.nix @@ -0,0 +1,58 @@ +{ config, lib, ... }: +let + cfg = config.os.srv.kea; +in +{ + options.os.srv.kea.enable = lib.mkEnableOption "enables kea dhcp server"; + config = lib.mkIf cfg.enable { + services.kea.dhcp4 = { + enable = true; + settings = { + interfaces-config = { + # To be used in a VM + interfaces = [ "eth0" ]; + dhcp-socket-type = "udp"; + }; + + lease-database = { + type = "memfile"; + persist = true; + name = "/var/lib/kea/dhcp4.leases"; + }; + + subnet4 = [ + { + id = 1; + subnet = "10.1.0.0/24"; + pools = [ { pool = "10.1.0.50 - 10.1.0.250"; } ]; + option-data = [ + { + name = "routers"; + data = "10.1.0.1"; + } + { + name = "domain-name-servers"; + data = "10.0.0.3"; + } + ]; + } + { + id = 2; + subnet = "10.2.0.0/24"; + pools = [ { pool = "10.2.0.50 - 10.2.0.250"; } ]; + option-data = [ + { + name = "routers"; + data = "10.2.0.1"; + } + { + name = "domain-name-servers"; + data = "10.0.0.3"; + } + ]; + } + ]; + }; + }; + }; +} |
