From 0c1198cf08576f16633b2344dc6513cefb567cfc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 20 Dec 2013 13:11:41 +0100 Subject: [PATCH] nix-shell: Set $IN_NIX_SHELL before evaluation This has some hacky applications. --- scripts/nix-build.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/nix-build.in b/scripts/nix-build.in index b3f12b706..60e8afec8 100755 --- a/scripts/nix-build.in +++ b/scripts/nix-build.in @@ -175,6 +175,8 @@ foreach my $expr (@exprs) { $drvPath = readlink $drvPath or die "cannot read symlink `$drvPath'" if -l $drvPath; my $drv = derivationFromPath($drvPath); + $ENV{'IN_NIX_SHELL'} = 1; + # Build or fetch all dependencies of the derivation. my @inputDrvs = grep { my $x = $_; (grep { $x =~ $_ } @envExclude) == 0 } @{$drv->{inputDrvs}}; system("$Nix::Config::binDir/nix-store", "-r", "--no-output", @buildArgs, @inputDrvs, @{$drv->{inputSrcs}}) == 0 @@ -193,8 +195,6 @@ foreach my $expr (@exprs) { $ENV{'NIX_STORE'} = $Nix::Config::storeDir; $ENV{$_} = $drv->{env}->{$_} foreach keys %{$drv->{env}}; - $ENV{'IN_NIX_SHELL'} = 1; - # Run a shell using the derivation's environment. For # convenience, source $stdenv/setup to setup additional # environment variables and shell functions. Also don't lose