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
Bjørn Forsman edd606ae62 fetchGit: don't prefix "refs/heads/" on ref = "HEAD"
This fixes builtins.fetchGit { url = ...; ref = "HEAD"; }, that works in
stable nix (v2.3.10), but is broken in nix master:

  $ ./result/bin/nix repl
  Welcome to Nix version 2.4pre19700101_dd77f71. Type :? for help.

  nix-repl> builtins.fetchGit { url = "https://github.com/NixOS/nix"; ref = "HEAD"; }
  fetching Git repository 'https://github.com/NixOS/nix'fatal: couldn't find remote ref refs/heads/HEAD
  error: program 'git' failed with exit code 128

The documentation for builtins.fetchGit says ref = "HEAD" is the
default, so it should also be supported to explicitly pass it.

I came across this issue because poetry2nix can use ref = "HEAD" in some
situations.

Fixes #4674.
2021-03-30 11:21:38 +02:00
.github simplify changing cachix cache for install tests 2021-02-26 16:14:06 -06:00
config Update config.guess for proper arm64 macOS detection 2020-12-02 19:14:34 -06:00
contrib
doc/manual Fix some typos 2021-03-26 16:14:38 +01:00
m4
maintainers set Content-Type to "text/plain" for install script 2020-08-20 13:21:22 +02:00
misc Add some missing clean-files 2020-10-18 20:32:59 +02:00
mk Merge pull request #4582 from puckipedia/cppflags 2021-03-01 13:08:14 +01:00
nix-rust Remove 'dist' target 2020-12-03 16:17:58 +01:00
perl Make sodium a required dependency 2021-01-06 17:56:53 +01:00
scripts Merge pull request #4532 from abathur/macos_nixbld_ids 2021-03-25 10:35:56 +01:00
src fetchGit: don't prefix "refs/heads/" on ref = "HEAD" 2021-03-30 11:21:38 +02:00
tests LocalBinaryCacheStore::upsertFile(): Fix race 2021-03-26 17:10:15 +01:00
.dir-locals.el
.editorconfig
.gitignore Generate separate manpages for each nix subcommand 2020-12-02 23:23:23 +01:00
.version Revert "Bump version to 3.0" 2020-10-26 11:30:18 +01:00
bootstrap.sh
configure.ac Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
COPYING
default.nix
flake.lock flake.lock: Update 2021-02-26 16:03:39 +01:00
flake.nix Merge pull request #4549 from NixOS/installer-artifact 2021-02-25 16:08:43 +01:00
local.mk Remove 'dist' target 2020-12-03 16:17:58 +01:00
Makefile Move command plugin interface to libnixcmd 2021-01-26 06:22:24 -05:00
Makefile.config.in Properly propagate libseccomp linker flags 2021-02-26 23:01:16 +00:00
precompiled-headers.h Config: Use nlohmann/json 2020-08-20 11:02:16 +02:00
README.md README: fix link to hacking guide 2020-12-28 09:30:14 -08: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.