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
puck 0c831765bd Run all derivation builders inside the sandbox on macOS
This replaces the external sandbox-exec call with direct calls into
libsandbox. This API is technically deprecated and is missing some
prototypes, but all major browsers depend on it, so it is unlikely to
materially change without warning.

This commit also ensures the netrc file is only written if the
derivation is in fact meant to be able to access the internet.

This change commits a sin of not actually actively declaring its
dependency on macOS's libsandbox.dylib; this is due to the dylib
cache in macOS making that explicit dependency unnecessary. In the
future this might become a problem, so this commit marks our sins.

Co-authored-by: Artemis Tosini <lix@artem.ist>
Co-authored-by: Lunaphied <lunaphied@lunaphied.me>
Change-Id: Ia302141a53ce7b0327c1aad86a117b6645fe1189
2024-04-27 14:44:15 -06:00
.github
bench Add benchmarking scripts 2024-04-08 19:50:24 -07:00
clang-tidy
contrib
doc docs(nix-env): summarize of each subcommand in --help 2024-04-26 21:56:08 -06:00
lix-doc
m4
maintainers docs: don't compute rl-next.md during build 2024-04-09 02:09:36 +00:00
meson
misc
mk
nix-support binary tarball: include cacert in root paths 2024-04-12 07:04:37 -06:00
perl
scripts meson: correctly differentiate $profiledir and $sysconfdir/profile.d 2024-04-09 02:25:58 -06:00
src Run all derivation builders inside the sandbox on macOS 2024-04-27 14:44:15 -06:00
tests Merge "ssh-ng: Set log-fd for ssh to 4 by default" into main 2024-04-26 18:30:33 +00:00
.clang-format
.clang-tidy
.dir-locals.el
.editorconfig
.envrc
.gitignore docs: redo content generation for mdbook and manual 2024-04-11 13:32:06 +00:00
.version
boehmgc-coroutine-sp-fallback.diff
boehmgc-traceable_allocator-public.diff
configure.ac
CONTRIBUTING.md
COPYING
default.nix
docker.nix
flake.lock
flake.nix meson: flip the switch!! 2024-04-22 21:41:58 -06:00
justfile justfile: allow passing args to meson compile 2024-04-25 14:26:38 +02:00
local.mk
Makefile
Makefile.config.in
meson.build meson: fix cross compilation 2024-04-22 21:41:58 -06:00
meson.options meson: correctly embed sandbox shell when asked 2024-04-18 16:15:58 -06:00
package.nix meson: remove unnecessary parts of cross file 2024-04-23 10:20:20 -06:00
precompiled-headers.h
README.md
shell.nix
treefmt.toml

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.