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.
This commit is contained in:
Kristoffer Dalby
2026-09-28 13:35:35 +00:00
committed by Kristoffer Dalby
parent f0ff407c05
commit d48883ca9b
2 changed files with 12 additions and 10 deletions
+1
View File
@@ -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
+11 -10
View File
@@ -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 <https://tailscale.com/docs/reference/dns-in-tailscale>.
'';
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 <https://tailscale.com/docs/reference/dns-in-tailscale>.
'';
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 [