{ self, nixpkgs, system }: with nixpkgs.legacyPackages.${system}; let config = self.lib.config; in rec { subnetplan4 = stdenv.mkDerivation { name = "subnetplan4.html"; src = builtins.toFile "subnets4.txt" ( lib.concatMapStringsSep "\n" (net: "${config.site.net.${net}.subnet4} ${net}" ) (builtins.attrNames ( lib.filterAttrs (_: { subnet4, ... }: subnet4 != null) config.site.net )) ); buildInputs = [ (import ./subnetplan { inherit pkgs; }) ]; buildCommand = '' subnetplan < $src > $out ''; }; subnetplan6 = stdenv.mkDerivation { name = "subnetplan6.html"; src = builtins.toFile "subnets6.txt" ( lib.concatMapStrings (net: lib.concatMapStrings (ctx: '' ${config.site.net.${net}.subnets6.${ctx}} ${net} '') (builtins.attrNames config.site.net.${net}.subnets6) ) (builtins.attrNames config.site.net) ); buildInputs = [ (import ./subnetplan { inherit pkgs; }) ]; buildCommand = '' subnetplan < $src > $out ''; }; subnetplans = runCommand "subnetplans" {} '' DIR=$out/share/doc/zentralwerk mkdir -p $DIR $out/nix-support ${lib.concatMapStrings (pkg: '' ln -s ${pkg} $DIR/${pkg.name} echo doc report $DIR/${pkg.name} >> $out/nix-support/hydra-build-products '') [ subnetplan4 subnetplan6 ]} ''; }