${cfg.extraConfig}
${ lib.concatMapStrings
- ({ name, file, master ? true, extra ? "", slaves ? [], masters ? [] }:
+ ({ name, file, master ? true, extraConfig ? "", slaves ? [], masters ? [] }:
''
zone "${name}" {
type ${if master then "master" else "slave"};
};
'' else ""}
allow-query { any; };
- ${extra}
+ ${extraConfig}
};
'')
- cfg.zones }
+ (builtins.attrValues cfg.zones) }
'';
mxes = lib.attrsets.filterAttrs
(n: v: v.mx.enable)
masters = if lib.attrsets.hasAttr "masters" conf
then lib.lists.flatten (map (n: lib.attrsets.attrValues ns.${n}) conf.masters)
else [];
+ slaves = [];
}) slaveZones)
++ (map (conf: {
name = conf.name;
master = true;
- extra = if lib.attrsets.hasAttr "extra" conf then conf.extra else "";
+ extraConfig = if lib.attrsets.hasAttr "extra" conf then conf.extra else "";
+ masters = [];
slaves = if lib.attrsets.hasAttr "slaves" conf
then lib.lists.flatten (map (n: lib.attrsets.attrValues ns.${n}) conf.slaves)
else [];