Files
PVV-DNS/zoneConfig.nix

31 lines
741 B
Nix

{
lib,
dns,
stdenvNoCC,
writeText,
}:
let
zoneConfigs =
lib.mapAttrs
(name: path: writeText "${name}.zone" (dns.lib.toString name (import path { inherit dns lib; })))
{
"pvv.ntnu.no" = ./zones/pvv.ntnu.no.nix;
"pvv.org" = ./zones/pvv.org.nix;
"210.241.129.in-addr.arpa" = ./zones/reverse-ipv4-parent.nix;
"128-255.210.241.129.in-addr.arpa" = ./zones/reverse-ipv4.nix;
"9.1.0.0.3.0.0.0.7.0.1.0.0.2.ip6.arpa" = ./zones/reverse-ipv6.nix;
};
in
stdenvNoCC.mkDerivation {
name = "zoneConfig";
dontUnpack = true;
installPhase = ''
mkdir -p $out/zones
''
+ (lib.concatMapAttrsStringSep "\n" (name: path: "cp ${path} $out/zones/${name}.zone") zoneConfigs);
}