summaryrefslogtreecommitdiff
path: root/sysutils/nix/pkg-descr
blob: 1a0e96dbb8ab380f71a41a30a844e6279cd5f02f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
Nix is a purely functional package manager. This means that it treats packages
like values in purely functional programming languages such as Haskell -- they
are built by functions that don't have side-effects, and they never change
after they have been built. Nix stores packages in the Nix store, usually the
directory /nix/store, where each package has its own unique subdirectory such
as

    /nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-33.1/

where b6gvzjyb2pg0... is a unique identifier for the package that captures all
its dependencies (it's a cryptographic hash of the package's build dependency
graph). This enables many powerful features.