aboutsummaryrefslogtreecommitdiff
path: root/modules/system/nixos/networking
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-06-23 20:50:07 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-06-23 20:50:07 -0500
commitf9f970d8364c220c9357f4791fdca2ced72fa804 (patch)
tree6d2ef5e2a3e7dfa8f3640b74181a8bb044e74599 /modules/system/nixos/networking
parent9ef174152929b038b01bc2f261b719a57cdad654 (diff)
no more mkCaddyConfig, manually specify ports, no more manual /etc/hosts, started using dnsmasq instead. all works!
Diffstat (limited to 'modules/system/nixos/networking')
-rw-r--r--modules/system/nixos/networking/resolved.nix38
1 files changed, 36 insertions, 2 deletions
diff --git a/modules/system/nixos/networking/resolved.nix b/modules/system/nixos/networking/resolved.nix
index ba2ca76..161471f 100644
--- a/modules/system/nixos/networking/resolved.nix
+++ b/modules/system/nixos/networking/resolved.nix
@@ -1,6 +1,40 @@
-{
+{config, ...}: let
+ hostname = config.networking.hostName;
+ netname = "${hostname}net0";
+in {
networking.resolvconf.enable = false;
+ services.dnsmasq = {
+ enable = true;
+ settings = {
+ port = 5353;
+ address = "/.${hostname}/127.0.0.1";
+ bind-interfaces = true;
+ };
+ };
+
+ systemd.network.netdevs."19-localnet" = {
+ netdevConfig = {
+ Name = netname;
+ Kind = "dummy";
+ };
+ };
+
+ systemd.network.networks."19-localnet" = {
+ matchConfig = {
+ Name = netname;
+ };
+ address = ["192.0.2.1/32"]; # BUG(?): a dummy network must have an address for systemd-networkd to attempt to use it to resolve dns queries (that took forever to debug)
+ dns = ["127.0.0.1:5353"];
+ domains = ["~${hostname}"];
+ extraConfig = ''
+ LinkLocalAddressing=no
+ ConfigureWithoutCarrier=yes
+ DNSSEC=no
+ DNSOverTLS=no
+ '';
+ };
+
networking.nameservers = [
"9.9.9.9#dns.quad9.net"
"149.112.112.112#dns.quad9.net"
@@ -10,7 +44,7 @@
enable = true;
settings.Resolve = {
DNSOverTLS = true;
- DNSSEC = true;
+ DNSSEC = "allow-downgrade";
LLMNR = false;
MulticastDNS = false;