<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-building-source"> <title>Building Nix from Source</title> <para>After unpacking or checking out the Nix sources, issue the following commands: <screen> $ ./configure <replaceable>options...</replaceable> $ make $ make install</screen> Nix requires GNU Make so you may need to invoke <command>gmake</command> instead.</para> <para>When building from the Git repository, these should be preceded by the command: <screen> $ ./bootstrap.sh</screen> </para> <para>The installation path can be specified by passing the <option>--prefix=<replaceable>prefix</replaceable></option> to <command>configure</command>. The default installation directory is <filename>/usr/local</filename>. You can change this to any location you like. You must have write permission to the <replaceable>prefix</replaceable> path.</para> <para>Nix keeps its <emphasis>store</emphasis> (the place where packages are stored) in <filename>/nix/store</filename> by default. This can be changed using <option>--with-store-dir=<replaceable>path</replaceable></option>.</para> <warning><para>It is best <emphasis>not</emphasis> to change the Nix store from its default, since doing so makes it impossible to use pre-built binaries from the standard Nixpkgs channels — that is, all packages will need to be built from source.</para></warning> <para>Nix keeps state (such as its database and log files) in <filename>/nix/var</filename> by default. This can be changed using <option>--localstatedir=<replaceable>path</replaceable></option>.</para> </section>