Quick StartThis chapter is for impatient people who don't like reading
documentation. For more in-depth information you are kindly referred
to the following chapters.Download a source tarball or RPM from . Build source
distributions using the regular sequence:
$ tar xvfj nix-version.tar.bz2
$ ./configure
$ make
$ make install (as root)
This will install Nix in /nix. You shouldn't
change the prefix if at all possible since that will make it
impossible to use our pre-built components. Alternatively, you could
grab an RPM if you're on an RPM-based system. You should also add
/nix/etc/profile.d/nix.sh to your
~/.bashrc (or some other login
file).Subscribe to the Nix Packages channel.
$ nix-channel --add \
http://nix.cs.uu.nl/dist/nix/channels-v3/nixpkgs-unstableDownload the latest Nix expressions available in the channel.
$ nix-channel --update
Note that this in itself doesn't download any components, it just
downloads the Nix expressions that build them and stores them
somewhere (under ~/.nix-defexpr, in case you're
curious). Also, it registers the fact that pre-built binaries are
available remotely.See what installable components are currently
available in the channel:
$ nix-env -qa ’*’ (mind the quotes!)
docbook-xml-4.2
firefox-1.0pre-PR-0.10.1
hello-2.1.1
libxslt-1.1.0
...Install some components from the channel:
$ nix-env -i hello firefox ...
This should download the pre-built components; it should not build
them locally (if it does, something went wrong).Test that they work:
$ which hello
/home/eelco/.nix-profile/bin/hello
$ hello
Hello, world!
$ firefox
(read Slashdot or something)Uninstall a package:
$ nix-env -e helloTo keep up-to-date with the channel, do:
$ nix-channel --update
$ nix-env -u '*'
The latter command will upgrade each installed component for which
there is a “newer” version (as determined by comparing the version
numbers).If you're unhappy with the result of a
nix-env action (e.g., an upgraded component turned
out not to work properly), you can go back:
$ nix-env --rollbackYou should periodically run the Nix garbage collector
to get rid of unused packages, since uninstalls or upgrades don't
actually delete them:
$ nix-collect-garbage -d