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
Travis A. Everett 1f02b65c59 fix xpath and conditional bugs; xpath -> xmllint
- xpath -> xmllint: xpath's cli interface changed in Big Sur
  rather than add conditional logic for picking the correct
  syntax for xpath, I'm changing to xmllint --xpath, which
  appears to be consistent across versions I've tested...

- /plist/dict/key[text()='Writable']/following-sibling::true[1]
  doesn't do quite what's expected. It was written to try to
  select a <true /> node paired with the Writable key, but it
  will also select the *next* <true /> node that appears even
  if it was paired with another key.

- I think there's also a logic bug in the conditionals here.
  I'm not sure anyone ever actuall saw it, thanks to the xpath
  bug, though. With the xpath fix, this conditional passes if /nix
  does not exist, / IS writable, and the version is Catalina+.

  I think it meant to test for /nix does not exist, / is NOT
  writable, and the version is Catalina+. I reworked this lightly
  to make it a little clearer at the code level.
2020-10-19 12:23:29 -05:00
.github speed up CI 2020-08-30 22:52:34 +02:00
config
contrib function-trace: always show the trace 2019-09-18 23:23:21 +02:00
corepkgs Move call-flake.nix into libexpr 2020-03-11 17:04:51 +01:00
doc/manual Merge #3982: Minor docs updates 2020-09-07 21:54:59 +02:00
m4 autoconf: Fix C++17 detection not working on Ubuntu 16.04. 2019-07-03 04:32:25 +02:00
maintainers set Content-Type to "text/plain" for install script 2020-08-20 13:21:22 +02:00
misc Fix completion script install name 2020-06-04 13:37:37 +02:00
mk Close stdin while running tests 2020-08-28 18:43:34 +02:00
nix-rust make check: Run unit tests 2020-05-08 11:49:40 +02:00
perl Merge remote-tracking branch 'upstream/master' into derivation-header-include-order 2020-08-18 14:36:44 +00:00
scripts fix xpath and conditional bugs; xpath -> xmllint 2020-10-19 12:23:29 -05:00
src Remove gc-check-reachability 2020-09-03 11:30:15 +02:00
tests Remove the --indirect flag 2020-09-03 11:22:00 +02:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig
.gitignore Generate builtins section of the manual 2020-08-24 14:49:30 +02:00
.version Bump version to 3.0 2020-07-28 13:18:27 +02:00
bootstrap.sh
configure.ac Use mdbook 2020-07-23 18:26:48 +02:00
COPYING
default.nix Simplify shell.nix and default.nix 2020-06-17 19:21:46 +02:00
flake.lock Fix clang build 2020-08-24 21:13:39 +02:00
flake.nix Merge remote-tracking branch 'origin/master' into markdown 2020-09-01 09:48:08 +02:00
local.mk Remove global -I flags 2020-03-30 15:30:19 +02:00
Makefile Merge remote-tracking branch 'origin/master' into flakes 2020-06-17 10:26:52 +02:00
Makefile.config.in Remove references to xmllint 2020-07-23 18:26:48 +02:00
precompiled-headers.h Config: Use nlohmann/json 2020-08-20 11:02:16 +02:00
README.md README: update link to Hacking section 2020-09-01 12:05:49 -07:00
shell.nix Add back flake-compat shell.nix 2020-07-17 14:58:59 +00:00

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 build nix from source with nix-build or how to get a development environment.

Additional Resources

License

Nix is released under the LGPL v2.1.