1
0
Fork 0
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:
Eelco Dolstra 2011-08-06 16:05:24 +00:00
parent 54945a2950
commit 1ecc97b6bd
24 changed files with 98 additions and 9 deletions

View file

@ -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
View file

@ -0,0 +1 @@
"a"

1
tests/lang/dir2/a.nix Normal file
View file

@ -0,0 +1 @@
"X"

1
tests/lang/dir2/b.nix Normal file
View file

@ -0,0 +1 @@
"b"

1
tests/lang/dir3/a.nix Normal file
View file

@ -0,0 +1 @@
"X"

1
tests/lang/dir3/b.nix Normal file
View file

@ -0,0 +1 @@
"X"

1
tests/lang/dir3/c.nix Normal file
View file

@ -0,0 +1 @@
"c"

1
tests/lang/dir4/a.nix Normal file
View file

@ -0,0 +1 @@
"X"

1
tests/lang/dir4/c.nix Normal file
View file

@ -0,0 +1 @@
"X"

View file

@ -0,0 +1 @@
"abc"

View file

@ -0,0 +1 @@
-I lang/dir1 -I lang/dir2

View file

@ -0,0 +1,3 @@
import <a.nix> + import <b.nix> + import <c.nix>

View file

@ -0,0 +1 @@
(import <a.nix>)

View file

@ -0,0 +1 @@
"abc"