Nix package manager: Difference between revisions
imported>Ixxie Moved configuration before debugging. |
imported>Ixxie Copied Nix store section from NixOS article |
||
Line 7: | Line 7: | ||
=== Installation === | === Installation === | ||
The [https://nixos.org/nix/manual/#chap-installation installation section of the Nix manual] describes how to install Nix from binary or source on Linux and Mac systems for a user with root privileges; it is easiest to install Nix for a single user, but steps are also included for setting up a multiuser installation. For an extensive guide on various methods for installing Nix - including how to install Nix without root privileges - see the [[Nix Installation Guide]]. | The [https://nixos.org/nix/manual/#chap-installation installation section of the Nix manual] describes how to install Nix from binary or source on Linux and Mac systems for a user with root privileges; it is easiest to install Nix for a single user, but steps are also included for setting up a multiuser installation. For an extensive guide on various methods for installing Nix - including how to install Nix without root privileges - see the [[Nix Installation Guide]]. | ||
=== Configuration === | === Configuration === | ||
Line 45: | Line 42: | ||
== Internals == | == Internals == | ||
=== Nix Store === | |||
Nix parses ''Nix expressions'' written in the [[Nix Expression Language]]; these are pure functions taking dependencies as arguments and producing ''derivation'' specifying a reproducible build environment for the package. The package is then built the ''Nix store'', receiving a unique address specified by a cryptographic hash of the build's dependency graph followed by the package name and version, for example <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. This allows Nix to simultaneously install different versions of the same package, and even different builds of the same version, for example variants built with different compilers. | |||
== Development == | == Development == |