mirror of
https://github.com/NixOS/nix
synced 2025-06-28 05:21:16 +02:00
* Add a Nix expression search path feature. Paths between angle
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown.
This commit is contained in:
parent
54945a2950
commit
1ecc97b6bd
24 changed files with 98 additions and 9 deletions
|
@ -33,5 +33,15 @@ bool parseOptionArg(const string & arg, Strings::iterator & i,
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool parseSearchPathArg(const string & arg, Strings::iterator & i,
|
||||
const Strings::iterator & argsEnd, EvalState & state)
|
||||
{
|
||||
if (arg != "-I") return false;
|
||||
if (i == argsEnd) throw UsageError(format("`%1%' requires an argument") % arg);;
|
||||
state.addToSearchPath(*i++);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue