From d48883ca9bd4d59ed0eb949c7148743268f192f9 Mon Sep 17 00:00:00 2001 From: Kristoffer Dalby Date: Mon, 28 Sep 2026 13:35:35 +0000 Subject: [PATCH] nix: write split DNS where headscale reads it module.nix emitted dns.split; headscale reads dns.nameservers.split, so the typed option was silently ignored. Old path now asserts. --- CHANGELOG.md | 1 + nix/module.nix | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2e82de1..ada2953e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,6 +90,7 @@ removed on this schedule: #### NixOS module - `settings.ephemeral_node_inactivity_timeout` is removed; set `settings.node.ephemeral.inactivity_timeout`, which headscale reads instead +- `settings.dns.split` is removed; headscale never read it, set `settings.dns.nameservers.split` ### Changes diff --git a/nix/module.nix b/nix/module.nix index 2233d971..465fa978 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -364,17 +364,17 @@ in List of nameservers to pass to Tailscale clients. ''; }; - }; - split = lib.mkOption { - type = lib.types.attrsOf (lib.types.listOf lib.types.str); - default = { }; - description = '' - Split DNS configuration (map of domains and which DNS server to use for each). - See . - ''; - example = { - "foo.bar.com" = [ "1.1.1.1" ]; + split = lib.mkOption { + type = lib.types.attrsOf (lib.types.listOf lib.types.str); + default = { }; + description = '' + Split DNS configuration (map of domains and which DNS server to use for each). + See . + ''; + example = { + "foo.bar.com" = [ "1.1.1.1" ]; + }; }; }; @@ -688,6 +688,7 @@ in (assertRemovedOption [ "settings" "db_port" ] "Use `database.postgres.port` instead.") (assertRemovedOption [ "settings" "db_type" ] "Use `database.type` instead.") (assertRemovedOption [ "settings" "db_user" ] "Use `database.postgres.user` instead.") + (assertRemovedOption [ "settings" "dns" "split" ] "Use `dns.nameservers.split` instead.") (assertRemovedOption [ "settings" "dns_config" ] "Use `dns` instead.") (assertRemovedOption [ "settings" "dns_config" "domains" ] "Use `dns.search_domains` instead.") (assertRemovedOption [