31 lines
741 B
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);
|
|
}
|