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 | {
config,
...
}:
let
inherit (config.networking) domain hostName;
backend = config.services.adguardhome;
in
{
services.adguardhome = {
enable = true;
host = "[::1]";
mutableSettings = false;
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";
};
};
};
};
services.dnsmasq.settings.cname = [
"dns.${domain},${hostName}.${domain}"
];
services.caddy.virtualHosts = {
"dns.${domain}" = {
extraConfig = ''
tls {
issuer internal {
ca home
}
}
encode
reverse_proxy http://${backend.host}:${toString backend.port}
'';
};
};
}
|