mirror of
https://github.com/NixOS/nix
synced 2025-07-07 10:11:47 +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
|
@ -40,7 +40,7 @@ for i in lang/eval-okay-*.nix; do
|
|||
if test -e lang/$i.flags; then
|
||||
flags=$(cat lang/$i.flags)
|
||||
fi
|
||||
if ! $nixinstantiate $flags --eval-only --strict lang/$i.nix > lang/$i.out; then
|
||||
if ! NIX_PATH=lang/dir3:lang/dir4 $nixinstantiate $flags --eval-only --strict lang/$i.nix > lang/$i.out; then
|
||||
echo "FAIL: $i should evaluate"
|
||||
fail=1
|
||||
elif ! diff lang/$i.out lang/$i.exp; then
|
||||
|
|
1
tests/lang/dir1/a.nix
Normal file
1
tests/lang/dir1/a.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"a"
|
1
tests/lang/dir2/a.nix
Normal file
1
tests/lang/dir2/a.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"X"
|
1
tests/lang/dir2/b.nix
Normal file
1
tests/lang/dir2/b.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"b"
|
1
tests/lang/dir3/a.nix
Normal file
1
tests/lang/dir3/a.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"X"
|
1
tests/lang/dir3/b.nix
Normal file
1
tests/lang/dir3/b.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"X"
|
1
tests/lang/dir3/c.nix
Normal file
1
tests/lang/dir3/c.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"c"
|
1
tests/lang/dir4/a.nix
Normal file
1
tests/lang/dir4/a.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"X"
|
1
tests/lang/dir4/c.nix
Normal file
1
tests/lang/dir4/c.nix
Normal file
|
@ -0,0 +1 @@
|
|||
"X"
|
1
tests/lang/eval-okay-search-path.exp
Normal file
1
tests/lang/eval-okay-search-path.exp
Normal file
|
@ -0,0 +1 @@
|
|||
"abc"
|
1
tests/lang/eval-okay-search-path.flags
Normal file
1
tests/lang/eval-okay-search-path.flags
Normal file
|
@ -0,0 +1 @@
|
|||
-I lang/dir1 -I lang/dir2
|
3
tests/lang/eval-okay-search-path.nix
Normal file
3
tests/lang/eval-okay-search-path.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
import <a.nix> + import <b.nix> + import <c.nix>
|
||||
|
||||
|
1
tests/lang/eval-okay-search-path.nix~
Normal file
1
tests/lang/eval-okay-search-path.nix~
Normal file
|
@ -0,0 +1 @@
|
|||
(import <a.nix>)
|
1
tests/lang/eval-okay-search-path.out
Normal file
1
tests/lang/eval-okay-search-path.out
Normal file
|
@ -0,0 +1 @@
|
|||
"abc"
|
Loading…
Add table
Add a link
Reference in a new issue