{ lib, inputs, ... }: with lib; recursiveUpdate inputs.dns.lib { mkDoT = { ips, tls }: map (ip: "${ip}#${tls}") ips; const = { quad9 = { default = { ips = [ "9.9.9.9" "149.112.112.112" "2620:fe::fe" "2620:fe::9" ]; tls = "dns.quad9.net"; }; unsecured = { ips = [ "9.9.9.10" "149.112.112.10" "2620:fe::10" "2620:fe::fe:10" ]; tls = "dns10.quad9.net"; }; ecs = { ips = [ "9.9.9.11" "149.112.112.11" "2620:fe::11" "2620:fe::fe:11" ]; tls = "dns11.quad9.net"; }; }; cloudflare = { default = { ips = [ "1.1.1.1" "1.0.0.1" "2606:4700:4700::1111" "2606:4700:4700::1001" ]; tls = "cloudflare-dns.com"; }; security = { ips = [ "1.1.1.2" "1.0.0.2" "2606:4700:4700::1112" "2606:4700:4700::1002" ]; tls = "security.cloudflare-dns.com"; }; family = { ips = [ "1.1.1.3" "1.0.0.3" "2606:4700:4700::1113" "2606:4700:4700::1003" ]; tls = "family.cloudflare-dns.com"; }; }; }; }