system/settings/services/adguard-home.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | {
config,
...
}:
let
inherit (config.networking) domain fqdn;
backend = config.services.adguardhome;
in
{
services.adguardhome = {
enable = true;
host = "[::1]";
# otherwise blocklists will be lost (prefer web UI configuration)
mutableSettings = true;
settings = {
dhcp.enabled = false;
dns = {
bind_hosts = [ "::" ];
hostsfile_enabled = false;
trusted_proxies = [ "::1" ];
enable_dnssec = true;
filtering = {
protection_enabled = true;
filtering_enabled = true;
blocking_mode = "refused";
};
cache_enabled = true;
cache_optimistic = true;
};
};
};
services.dnsmasq.settings.cname = [
"dns.${domain},${fqdn}"
];
services.caddy.virtualHosts = {
"dns.${domain}" = {
extraConfig = ''
tls {
issuer internal {
ca home
}
}
encode
reverse_proxy http://${backend.host}:${toString backend.port}
'';
};
};
}
|