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
Matthew Kenigsberg 9f4cfbb2e7 Refactor installables
InstallableValue has children InstallableFlake and InstallableAttrPath, but InstallableFlake was overriding toDerivations, and usage was changed so that InstallableFlake didn't need cmd. So these changes were made:
InstallableValue::toDerivations() -> InstalllableAttrPath::toDerivations()
InstallableValue::cmd -> InstallableAttrPath::cmd

InstallableValue uses state instead of cmd

toBuildables() and toDerivations() were made abstract
2020-05-09 14:42:32 -06:00
.github Merge remote-tracking branch 'origin/master' into flakes 2020-05-01 11:59:56 +02:00
config
contrib
corepkgs Move call-flake.nix into libexpr 2020-03-11 17:04:51 +01:00
doc/manual add NIX_USER_CONF_FILES 2020-04-14 18:45:06 +02:00
m4
maintainers Update release script 2020-04-10 17:27:35 +02:00
misc
mk Remove global -I flags 2020-03-30 15:30:19 +02:00
nix-rust Remove macro_use 2020-02-10 09:03:24 +01:00
perl nix-perl: Fix segfault in queryPathInfo) 2020-03-10 11:00:17 +01:00
scripts installer: Fix terminal colors. 2020-03-24 21:15:01 -07:00
src Refactor installables 2020-05-09 14:42:32 -06:00
tests rename run to shell in tests 2020-05-01 12:17:53 +02:00
.dir-locals.el .dir-locals.el: Set additional lambda indentation to zero 2020-02-20 07:56:35 +01:00
.editorconfig
.gitignore ignore error-demo 2020-04-06 12:05:17 -06:00
.version
bootstrap.sh
configure.ac Merge remote-tracking branch 'origin/master' into flakes 2019-12-20 12:45:58 +01:00
COPYING
default.nix Add backward compatibility default.nix / shell.nix 2020-02-25 14:51:08 +01:00
flake.lock flake.lock: Update 2020-03-30 13:33:08 +02:00
flake.nix Remove support for old lockfiles and the epoch/uri attributes 2020-05-06 17:48:18 +02:00
local.mk Remove global -I flags 2020-03-30 15:30:19 +02:00
Makefile Don't install error-demo 2020-04-22 15:29:22 +02:00
Makefile.config.in Misc changes from the flakes branch 2020-03-24 14:34:47 +01:00
precompiled-headers.h precompiled-headers.h: Don't include our own headers 2020-05-04 22:40:02 +02:00
README.md Tweak README.md 2020-05-01 11:47:26 +02:00
shell.nix Remove the tarball job 2020-03-13 18:05:22 +01: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

Building Nix

You can build Nix using one of the targets provided by release.nix:

$ nix-build ./release.nix -A build.aarch64-linux
$ nix-build ./release.nix -A build.x86_64-darwin
$ nix-build ./release.nix -A build.i686-linux
$ nix-build ./release.nix -A build.x86_64-linux

Development Environment

You can use the provided shell.nix to get a working development environment:

$ nix-shell
$ ./bootstrap.sh
$ ./configure
$ make

Additional Resources

License

Nix is released under the LGPL v2.1.