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
14 lines
717 B
Markdown
14 lines
717 B
Markdown
---
|
|
synopsis: Change `nix-build -o ""` to behave like `--no-out-link`
|
|
cls: [2103]
|
|
category: Fixes
|
|
credits: lilyball
|
|
---
|
|
|
|
[`nix-build`](@docroot@/command-ref/nix-build.md)now treats <code>[--out-link](@docroot@/command-ref/nix-build.md#opt-out-link) ''</code>
|
|
the same as [`--no-out-link`](@docroot@/command-ref/nix-build.md#opt-no-out-link). This matches
|
|
[`nix build`](@docroot@/command-ref/new-cli/nix3-build.md) behavior. Previously when building the default output it
|
|
would have resulted in throwing an error saying the current working directory already exists, and when building any
|
|
other output it would have resulted in a symlink starting with a hyphen such as `-doc`, which is a footgun for
|
|
terminal commands.
|