nixos-config/configs/nixos/ni/modules/services/dns-server/default.nix

40 lines
970 B
Nix
Raw Normal View History

2025-01-01 08:16:23 +00:00
{ config, lib, pkgs, ... }:
let
hostCfg = config.hosts.ni;
cfg = hostCfg.services.dns-server;
in
{
options.hosts.ni.services.dns-server.enable =
lib.mkEnableOption "preferred DNS server";
config = lib.mkIf cfg.enable {
services.nsd = {
enable = true;
ipv4 = true;
ipv6 = true;
zones."foodogsquared.internal".data = ''
$ORIGIN foodogsquared.internal.
$TTL 3600
@ IN SOA ns1.foodogsquared.internal. admin.foodogsquared.one. (
2025-01-01 08:16:23 +00:00
2025010101 ;Serial
3600 ;Refresh
3600 ;Retry
3600 ;Expire
3600 ;Negative response caching TTL
)
3600 IN NS ns1.foodogsquared.internal.
ni 3600 IN A 127.0.0.1
ns1 3600 IN A 127.0.0.1
rss 3600 IN A 127.0.0.1
2025-01-01 08:16:23 +00:00
'';
};
services.resolved.domains = [ "~foodogsquared.internal" ];
networking.nameservers = [ "127.0.0.1" ];
2025-01-01 08:16:23 +00:00
};
}