Quick Start This 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://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable Download 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 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 hello To 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 --rollback You should periodically run the Nix garbage collector to get rid of unused packages, since uninstalls or upgrades don't actually delete them: $ nix-env --delete-generations old $ nix-collect-garbage The first command deletes old generations of your profile (making rollbacks impossible, but also making the components in those old generations available for garbage collection), while the second command actually deletes them.