nixos/documentation: avoid copying nixpkgs subpaths, iteration 2

This kind of reverts commit 893ffee286.
This commit is contained in:
Robert Hensing 2022-01-05 13:56:20 +01:00
parent 813f9da8ab
commit 15a00be189

View File

@ -67,11 +67,19 @@ let
(t == "directory" -> baseNameOf n != "tests")
&& (t == "file" -> hasSuffix ".nix" n)
);
# When working directly from a checkout,
# produce separate, smaller store paths
# When already in the store,
# avoid copying; reuse the whole nixpkgs sources
pull = dir:
if isStorePath pkgs.path
then "${pkgs.path}/${dir}"
else filter "${toString pkgs.path}/${dir}";
in
pkgs.runCommand "lazy-options.json" {
libPath = filter "${toString pkgs.path}/lib";
pkgsLibPath = filter "${toString pkgs.path}/pkgs/pkgs-lib";
nixosPath = filter "${toString pkgs.path}/nixos";
libPath = pull "lib";
pkgsLibPath = pull "pkgs/pkgs-lib";
nixosPath = pull "nixos";
modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy;
} ''
export NIX_STORE_DIR=$TMPDIR/store