{ config, lib, ... }: { services = { adguardhome = { enable = false; openFirewall = false; mutableSettings = false; settings = { http = { address = "127.0.0.1:3000"; }; dns = { bind_hosts = [ "10.0.0.5" "127.0.0.1" ]; port = 53; upstream_dns = [ "9.9.9.9" "149.112.112.112" ]; fallback_dns = [ "1.1.1.1" "1.0.0.1" ]; bootstrap_dns = [ "9.9.9.9" "149.112.112.112" ]; }; filtering = { rewrites = [ # jellyfin { domain = "media.internal"; answer = "10.0.0.5"; } # immich { domain = "photos.internal"; answer = "10.0.0.5"; } # calibre-web { domain = "library.internal"; answer = "10.0.0.5"; } # searxng { domain = "search.internal"; answer = "10.0.0.5"; } # ollama api { domain = "ollama.internal"; answer = "10.0.0.5"; } # open-webui { domain = "chat.internal"; answer = "10.0.0.5"; } # forgejo { domain = "forge.internal"; answer = "10.0.0.5"; } # cgit { domain = "code.internal"; answer = "10.0.0.5"; } # adguard { domain = "dns.internal"; answer = "10.0.0.5"; } # grafana { domain = "monitor.internal"; answer = "10.0.0.5"; } ]; }; }; }; nginx.virtualHosts = { "dns.internal" = { locations."/" = { proxyPass = "http://127.0.0.1:3000"; proxyWebsockets = true; }; }; }; }; # networking = { # nameservers = [ # "9.9.9.9" # "127.0.0.1" # "10.0.0.5" # ]; # }; }