pkgs.path: Avoid copying when used via flake

This commit is contained in:
Robert Hensing 2022-01-05 13:54:34 +01:00
parent 3562adbcec
commit 813f9da8ab
3 changed files with 16 additions and 2 deletions

View file

@ -62,7 +62,7 @@
}).nixos.manual.x86_64-linux; }).nixos.manual.x86_64-linux;
}; };
legacyPackages = forAllSystems (system: import ./. { inherit system; }); legacyPackages = forAllSystems (system: import ./. { inherit system; config.path = self.outPath; });
nixosModules = { nixosModules = {
notDetected = import ./nixos/modules/installer/scan/not-detected.nix; notDetected = import ./nixos/modules/installer/scan/not-detected.nix;

View file

@ -67,7 +67,7 @@ with pkgs;
clangStdenvNoLibs = mkStdenvNoLibs clangStdenv; clangStdenvNoLibs = mkStdenvNoLibs clangStdenv;
# For convenience, allow callers to get the path to Nixpkgs. # For convenience, allow callers to get the path to Nixpkgs.
path = ../..; path = config.path;
### Helper functions. ### Helper functions.

View file

@ -32,6 +32,20 @@ let
feature = "run <literal>checkPhase</literal> by default"; feature = "run <literal>checkPhase</literal> by default";
}; };
path = mkOption {
type = types.path;
default = ../..;
defaultText = lib.literalDocBook "a path expression";
internal = true;
description = ''
A reference to Nixpkgs' own sources.
This is overridable in order to avoid copying sources unnecessarily,
as a path expression that references a store path will not short-circuit
to the store path itself, but copy the store path instead.
'';
};
}; };
in { in {