Self-host your own digital island

add `dns.nameservers` option

Changed files
+19 -2
modules
+19 -2
modules/dns.nix
···
let cfg = config.eilean; in
{
-
options.eilean.dns.enable = lib.mkEnableOption "dns";
+
+
options.eilean.dns = {
+
enable = lib.mkEnableOption "dns";
+
nameservers = lib.mkOption {
+
type = lib.types.listOf lib.types.string;
+
default = [ "ns1" "ns2" ];
+
};
+
};
config.dns = lib.mkIf cfg.dns.enable {
enable = true;
···
type = "A";
data = cfg.serverIpv4;
}
-
]) [ "ns1" "ns2" ] ++
+
{
+
name = "@";
+
type = "NS";
+
data = ns;
+
}
+
{
+
name = ns;
+
type = "A";
+
data = cfg.serverIpv6;
+
}
+
]) cfg.dns.nameservers ++
[
{
name = "www";