46 lines
842 B
Nix
46 lines
842 B
Nix
{ config, lib, ... }:
|
|
with lib;
|
|
|
|
let cfg = config.walkah.coredns;
|
|
in
|
|
{
|
|
options.walkah.coredns = {
|
|
enable = mkEnableOption "";
|
|
addr = mkOption {
|
|
type = types.str;
|
|
default = "0.0.0.0";
|
|
example = "192.168.6.1";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
services.coredns = {
|
|
enable = true;
|
|
config = ''
|
|
. {
|
|
bind 127.0.0.1
|
|
bind ${cfg.addr}
|
|
prometheus ${cfg.addr}:9153
|
|
log
|
|
errors
|
|
cache
|
|
dnssec
|
|
forward . tls://1.1.1.1 tls://1.0.0.1 {
|
|
tls_servername cloudflare-dns.com
|
|
}
|
|
}
|
|
|
|
walkah.lab {
|
|
bind ${cfg.addr}
|
|
file ${./walkah.lab.zone}
|
|
}
|
|
'';
|
|
};
|
|
|
|
networking = {
|
|
nameservers = [ "127.0.0.1" ];
|
|
search = [ "walkah.lab" ];
|
|
};
|
|
};
|
|
}
|