From 3e5dbb24337d8416cfe46484eb2692811546a9c1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Aug 2014 23:16:08 +0200 Subject: [PATCH] nix-shell: Use $XDG_RUNTIME_DIR This prevents collisions with other users. Fixes #262. --- scripts/nix-build.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/nix-build.in b/scripts/nix-build.in index cf7efa891..ef86cb97b 100755 --- a/scripts/nix-build.in +++ b/scripts/nix-build.in @@ -204,6 +204,7 @@ foreach my $expr (@exprs) { or die "$0: failed to build all dependencies\n"; # Set the environment. + my $tmp = $ENV{"TMPDIR"} // $ENV{"XDG_RUNTIME_DIR"} // "/tmp"; if ($pure) { foreach my $name (keys %ENV) { next if grep { $_ eq $name } ("HOME", "USER", "LOGNAME", "DISPLAY", "PATH", "TERM", "IN_NIX_SHELL", "TZ", "PAGER"); @@ -212,7 +213,7 @@ foreach my $expr (@exprs) { # NixOS hack: prevent /etc/bashrc from sourcing /etc/profile. $ENV{'__ETC_PROFILE_SOURCED'} = 1; } - $ENV{'NIX_BUILD_TOP'} = $ENV{'TMPDIR'} = $ENV{'TEMPDIR'} = $ENV{'TMP'} = $ENV{'TEMP'} = $ENV{'TMPDIR'} // "/tmp"; + $ENV{'NIX_BUILD_TOP'} = $ENV{'TMPDIR'} = $ENV{'TEMPDIR'} = $ENV{'TMP'} = $ENV{'TEMP'} = $tmp; $ENV{'NIX_STORE'} = $Nix::Config::storeDir; $ENV{$_} = $drv->{env}->{$_} foreach keys %{$drv->{env}};