feat(nix): recursively import domain files via mapping

This commit is contained in:
orangc 2026-03-21 16:52:05 +03:00
commit 291bc39a7a

View file

@ -13,6 +13,21 @@
"fattouche.ns.cloudflare.com"
];
};
domains = builtins.readDir ./domains;
domainFiles = builtins.filterAttrs (
name: type: type == "regular" && builtins.match ".*\\.nix" name != null
) domains;
subdomains = builtins.mapAttrs' (
name: _:
let
key = builtins.replaceStrings [ ".nix" ] [ "" ] name;
in
{
name = key;
value = import (./domains + "/${name}") { inherit dns; };
}
) domainFiles;
in
{
packages.x86_64-linux = builtins.mapAttrs (
@ -29,8 +44,7 @@
# note: Cloudflare ignores SOA and NS records uploaded via Zone File, they are included just so that dns.nix builds a valid zone file.
#subdomains = ;
# ^^ todo: implement file imports from ./domains
inherit subdomains;
}
)
) domains;