A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
John Ericson 0f7242ff87 Test nested sandboxing, and make nicer error
We were bedeviled by sandboxing issues when working on the layered
store. The problem ended up being that when we have nested nix builds,
and the inner store is inside the build dir (e.g. store is
`/build/nix-test/$name/store`, build dir is `/build`) bind mounts
clobber each other and store paths cannot be found.

After thoroughly cleaning up `local-derivation-goal.cc`, we might be
able to make that work. But that is a lot of work. For now, we just fail
earlier with a proper error message.

Finally, test this: nested sandboxing without the problematic store dir
should work, and with should fail with the expected error message.

Co-authored-by: Dylan Green <67574902+cidkidnix@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-07-14 09:40:24 -04:00
.github labeler.yml: tests -> with-tests 2023-06-30 15:10:07 +02:00
config
contrib
doc Expanded test suite 2023-07-11 21:43:09 -04:00
m4
maintainers maintainers: add note on marking PRs as draft 2023-06-19 10:55:34 +02:00
misc Choose a reasonable number similar to LimitNOFile 2023-07-07 07:52:16 -07:00
mk
perl
scripts Merge pull request #8512 from scarf005/install-show-uid 2023-06-15 13:49:44 +02:00
src Test nested sandboxing, and make nicer error 2023-07-14 09:40:24 -04:00
tests Test nested sandboxing, and make nicer error 2023-07-14 09:40:24 -04:00
.dir-locals.el
.editorconfig
.gitignore Expanded test suite 2023-07-11 21:43:09 -04:00
.version
boehmgc-coroutine-sp-fallback.diff
bootstrap.sh
configure.ac
CONTRIBUTING.md CONTRIBUTING.md: add link to "good first issues" 2023-06-19 10:39:19 +02:00
COPYING
default.nix
docker.nix
flake.lock
flake.nix Allow tarball URLs to redirect to a lockable immutable URL 2023-06-13 14:17:45 +02:00
local.mk
Makefile Fix build hook error for libstore library users 2023-06-15 14:32:00 +02:00
Makefile.config.in
precompiled-headers.h
README.md
shell.nix

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to to set up a development environment and build Nix from source.

Additional Resources

License

Nix is released under the LGPL v2.1.