forked from zentralwerk/network
55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
{ 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 ]}
|
|
'';
|
|
}
|