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
eldritch horrors 112fd6c971 rewrite the parser with pegtl instead of flex/bison
this gives about 20% performance improvements on pure parsing. obviously
it'll be less on full eval, but depending on how much parsing has to be
done (eg whether nixpkgs haskell modules are included or not) it ranges
anywhere from 4% to 10% in our tests.

this has been tested with thousands of core hours of fuzz testing to
ensure that the ASTs produced by the new parser are exactly the same as
the ones produced by the old parser. error messages will
change (sometimes a lot) and are currently not perfect, but we'd rather
leave that open for improvement than having this work rot forever.

Change-Id: Ie66ec2d045dec964632c6541e25f8f0797319ee2
2024-03-16 18:07:01 +01:00
.github un-thumbs-up ur github templates 2024-03-13 23:10:25 -07:00
config
contrib
doc report inherit attr errors at the duplicate name 2024-03-15 19:28:17 +01:00
m4
maintainers
misc Merge pull request #9573 from hercules-ci/rl-next-md-frontmatter 2024-03-04 07:12:09 +01:00
mk Merge "Backport PR#10204 by 9999years: Replace foo with __NIX_STR in cxx-big-literal" into main 2024-03-14 00:07:21 -06:00
perl
scripts Delete the existing installer 2024-03-14 18:15:46 +00:00
src rewrite the parser with pegtl instead of flex/bison 2024-03-16 18:07:01 +01:00
tests rewrite the parser with pegtl instead of flex/bison 2024-03-16 18:07:01 +01:00
.dir-locals.el
.editorconfig
.gitignore Merge pull request #10085 from ShamrockLee/ignore-obsolete-testdir 2024-03-05 23:36:31 -07:00
.version Update version to 2.90.0 2024-03-07 19:57:39 -07:00
boehmgc-coroutine-sp-fallback.diff
boehmgc-traceable_allocator-public.diff
configure.ac rewrite the parser with pegtl instead of flex/bison 2024-03-16 18:07:01 +01:00
CONTRIBUTING.md
COPYING
default.nix
docker.nix
flake.lock flake.nix: upgrade to nixos-23.11 2024-03-08 23:59:01 +00:00
flake.nix rewrite the parser with pegtl instead of flex/bison 2024-03-16 18:07:01 +01:00
local.mk
Makefile Merge pull request #10074 from lf-/jade/ban-implicit-fallthrough 2024-03-07 00:11:12 -07:00
Makefile.config.in
package.nix rewrite the parser with pegtl instead of flex/bison 2024-03-16 18:07:01 +01:00
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.