Lily Ballard
3c8096e5cb
This adds a new temp-dir setting for controlling the temporary directory
without having to change the TMPDIR env var. This can be used to e.g.
use a path on a case-sensitive store on macOS for temporary files
without changing the TMPDIR var used by interactive shells or commands
invoked with `nix run`.
This also stops unsetting `TMPDIR` on darwin when the env var value
starts with `/var/folders/`, preferring instead to just do the check
when reading `TMPDIR`. This way the inherited `TMPDIR` env var is
preserved for child processes (such as interactive shells).
As a side effect this changes the behavior of `nix-build -o ''` to act
like `nix-build --no-out-link` instead of failing with an error caused
by trying to create a symlink at the cwd.
Fixes: #253
Fixes: #112
Change-Id: I9ee826323f2deca62854715a77ca7a373a948a29
638 B
638 B
synopsis | issues | cls | category | credits | |||||
---|---|---|---|---|---|---|---|---|---|
Add a `temp-dir` setting to set the temporary directory location |
|
|
Improvements | lilyball |
temp-dir
can now be set in the Nix
configuration to change the temporary directory. This can be used to relocate all temporary files
to another filesystem without affecting the TMPDIR
env var inherited by interactive
nix-shell
/nix shell
shells or nix run
commands.
Also on macOS, the TMPDIR
env var is no longer unset for interactive shells when pointing
to a per-session /var/folders/
directory.