A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community https://lix.systems
Find a file
Matthew Bauer fa8515d7ec Set regex_constants::match_continuous for quicker search
match_continuous limits the search to the current start position,
instead of searching the entire file.

On libc++, this improves performance dramatically:

$ time /nix/store/70ai68dfm6xbzwn26j5n4li9di52ylia-nix-3.0pre20200728_c159f48/bin/nix print-dev-env >/dev/null
/nix/store/70ai68dfm6xbzwn26j5n4li9di52ylia-nix-3.0pre20200728_c159f48/bin/ni  2.39s user 0.19s system 64% cpu 4.032 total
$ time /nix/store/cwjfxxlp83zln4mfyy1d2dbsx7f6s962-nix-3.0pre20200728_dirty/bin/nix print-dev-env >/dev/null
/nix/store/cwjfxxlp83zln4mfyy1d2dbsx7f6s962-nix-3.0pre20200728_dirty/bin/nix   0.09s user 0.05s system 65% cpu 0.204 total

Fixes #3874
2020-07-29 00:57:20 -05:00
.github add temp CI job to test syspolicy impact 2020-07-08 20:10:22 -05:00
config update config/config.{sub,guess} 2018-08-13 20:00:17 +00:00
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 Remove unused file 2020-07-23 18:25:09 +02:00
m4 autoconf: Fix C++17 detection not working on Ubuntu 16.04. 2019-07-03 04:32:25 +02:00
maintainers upload-release.pl: Update latest-release branch 2020-07-08 17:01:20 +02:00
misc Fix completion script install name 2020-06-04 13:37:37 +02:00
mk Allow PRECOMPILE_HEADERS in cross-compilation 2020-07-25 18:02:42 -05:00
nix-rust make check: Run unit tests 2020-05-08 11:49:40 +02:00
perl Merge remote-tracking branch 'upstream/master' into hash-always-has-type 2020-07-27 16:13:57 +00:00
scripts Add newline to profile sourcing line #3393 2020-07-18 10:24:22 -05:00
src Set regex_constants::match_continuous for quicker search 2020-07-29 00:57:20 -05:00
tests Test relative store paths 2020-07-17 15:50:53 -04:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig Add .editorconfig 2017-06-05 22:57:28 +01:00
.gitignore Add src/libutil/tests/libutil-tests to .gitignore 2020-06-04 21:05:41 +00:00
.version Bump version to 3.0 2020-07-28 13:18:27 +02:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac Merge remote-tracking branch 'origin/master' into flakes 2020-05-28 12:55:24 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
default.nix Simplify shell.nix and default.nix 2020-06-17 19:21:46 +02:00
flake.lock flake.lock: Update 2020-06-09 11:24:06 +02:00
flake.nix Merge remote-tracking branch 'origin/master' into flakes 2020-06-17 10:26:52 +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 fix make's impurity on /bin/sh 2020-07-18 08:05:36 +01:00
precompiled-headers.h precompiled-headers.h: Don't include our own headers 2020-05-04 22:40:02 +02:00
README.md README: Fix link to hacking guide 2020-07-22 13:45:15 +02: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.