diff options
-rw-r--r-- | doc/manual/installation.xml | 52 | ||||
-rw-r--r-- | doc/manual/introduction.xml | 2 | ||||
-rw-r--r-- | doc/manual/nix-lang-ref.xml | 95 | ||||
-rw-r--r-- | doc/manual/package-management.xml | 23 | ||||
-rw-r--r-- | doc/manual/quick-start.xml | 30 | ||||
-rw-r--r-- | doc/manual/release-notes.xml | 2 |
6 files changed, 62 insertions, 142 deletions
diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml index 7adf00cb6aa3..0e66b8f0ea2c 100644 --- a/doc/manual/installation.xml +++ b/doc/manual/installation.xml @@ -140,16 +140,25 @@ $ ./bootstrap</screen> <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>/nix</filename>. You can change this to any location you -like. You must have write permission to the +<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> -<warning><para>It is best <emphasis>not</emphasis> to change the -installation prefix from its default, since doing so makes it -impossible to use pre-built binaries from the standard Nixpkgs -channels.</para></warning> +<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> -<para>If you want to rebuilt the documentation, pass the full path to +<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> + +<para>If you want to rebuild the documentation, pass the full path to the DocBook RELAX NG schemas and to the DocBook XSL stylesheets using the <option>--with-docbook-rng=<replaceable>path</replaceable></option> @@ -160,27 +169,26 @@ options.</para> </section> -<section><title>Installing from RPMs</title> +<section><title>Installing a binary distribution</title> -<para>RPM packages of Nix can be downloaded from <link -xlink:href="http://nixos.org/" />. These RPMs should work for most -fairly recent releases of SuSE and Red Hat Linux. They have been -known to work work on SuSE Linux 8.1 and 9.0, and Red Hat 9.0. In -fact, it should work on any RPM-based Linux distribution based on -<literal>glibc</literal> 2.3 or later.</para> +<para>RPM and Deb packages of Nix for a number of different versions +of Fedora, openSUSE, Debian and Ubuntu can be downloaded from <link +xlink:href="http://nixos.org/" />. Once downloaded, the RPMs can be +installed or upgraded using <command>rpm -U</command>. For example, + +<screen> +$ rpm -U nix-0.13pre18104-1.i386.rpm</screen> -<para>Once downloaded, the RPMs can be installed or upgraded using -<command>rpm -U</command>. For example, +Likewise, for a Deb package: <screen> -$ rpm -U nix-0.5pre664-1.i386.rpm</screen> +$ dpkg -i nix_0.13pre18104-1_amd64.deb</screen> </para> -<para>The RPMs install into the directory <filename>/nix</filename>. -Nix can be uninstalled using <command>rpm -e nix</command>. After -this it will be necessary to manually remove the Nix store and other -auxiliary data: +<para>Nix can be uninstalled using <command>rpm -e nix</command> or +<command>dpkg -r nix</command>. After this you should manually remove +the Nix store and other auxiliary data, if desired: <screen> $ rm -rf /nix/store @@ -191,6 +199,7 @@ $ rm -rf /nix/var</screen> </section> +<!-- TODO: should be updated <section><title>Upgrading Nix through Nix</title> <para>You can install the latest stable version of Nix through Nix @@ -203,6 +212,7 @@ installation</link> by clicking on the package links at <link xlink:href="http://nixos.org/releases/full-index-nix.html" />.</para> </section> +--> <section><title>Security</title> diff --git a/doc/manual/introduction.xml b/doc/manual/introduction.xml index 2e32a649d845..0cf57fd855ff 100644 --- a/doc/manual/introduction.xml +++ b/doc/manual/introduction.xml @@ -320,7 +320,7 @@ overview of NixOS is given in the HotOS XI paper <citetitle xlink:href="http://www.st.ewi.tudelft.nl/~dolstra/pubs/hotos-final.pdf">Purely Functional System Configuration Management</citetitle>. The Nix homepage has <link -xlink:href="http://nix.cs.uu.nl/docs/papers.html">an up-to-date list +xlink:href="http://nixos.org/docs/papers.html">an up-to-date list of Nix-related papers</link>.</para> <para>Nix is the subject of Eelco Dolstra’s PhD thesis <citetitle diff --git a/doc/manual/nix-lang-ref.xml b/doc/manual/nix-lang-ref.xml index bda0ff5432db..86273ac3d016 100644 --- a/doc/manual/nix-lang-ref.xml +++ b/doc/manual/nix-lang-ref.xml @@ -178,100 +178,5 @@ </productionset> </sect1> - - - - <sect1> - <title>Semantics</title> - - - - <sect2> - <title>Built-in functions</title> - - <para> - The Nix language provides the following built-in function - (<quote>primops</quote>): - </para> - - <variablelist> - - <varlistentry> - <term><function>import</function> - <replaceable>e</replaceable></term> - <listitem> - <para> - Evaluates the expression <replaceable>e</replaceable>, - which must yield a path value. The Nix expression - stored at this path in the file system is then read, - parsed, and evaluated. Returns the result of the - evaluation of the Nix expression just read. - </para> - - <para> - Example: <literal>import ./foo.nix</literal> evaluates - the expression stored in <filename>foo.nix</filename> - (in the directory containing the expression in which the - <function>import</function> occurs). - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><function>derivation</function> - <replaceable>e</replaceable></term> - <listitem> - <para> - Evaluates the expression <replaceable>e</replaceable>, - which must yield an attribute set. [...] - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><function>baseNameOf</function> - <replaceable>e</replaceable></term> - <listitem> - <para> - Evaluates the expression <replaceable>e</replaceable>, - which must yield a string value, and returns a string - representing its <emphasis>base name</emphasis>. This - is the substring following the last path separator - (<literal>/</literal>). - </para> - - <para> - Example: <literal>baseNameOf "/foo/bar"</literal> - returns <literal>"bar"</literal>, and - <literal>baseNameOf "/foo/bar/"</literal> returns - <literal>""</literal>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><function>toString</function> - <replaceable>e</replaceable></term> - <listitem> - <para> - Evaluates the expression <replaceable>e</replaceable> - and coerces it into a string, if possible. Only - strings, paths, and URIs can be so coerced. - </para> - - <para> - Example: <literal>toString - http://www.cs.uu.nl/</literal> returns - <literal>"http://www.cs.uu.nl/"</literal>. - </para> - </listitem> - </varlistentry> - - </variablelist> - - </sect2> - - </sect1> - </appendix> diff --git a/doc/manual/package-management.xml b/doc/manual/package-management.xml index 387258e6974d..167e96e6f696 100644 --- a/doc/manual/package-management.xml +++ b/doc/manual/package-management.xml @@ -507,19 +507,16 @@ click on it, and it will be installed with all the necessary dependencies.</para> <para>For instance, you can go to <link -xlink:href="http://nixos.org/releases/nixpkgs/nixpkgs-unstable/" /> — -or to any older release of Nix Packages — and click on any link for -the individual packages for your platform (say, <link -xlink:href='http://nix.cs.uu.nl/dist/nix/nixpkgs-0.10pre6622/pkgs/subversion-1.4.0-i686-linux.nixpkg'><literal>subversion-1.4.0</literal> -for <literal>i686-linux</literal></link>). The first time you do -this, your browser will ask what to do with -<literal>application/nix-package</literal> files. You should open -them with <filename>/nix/bin/nix-install-package</filename>. This -will open a window that asks you to confirm that you want to install -the package. When you answer <literal>Y</literal>, the package and -all its dependencies will be installed. This is a binary deployment -mechanism — you get packages pre-compiled for the selected platform -type.</para> +xlink:href="http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest" +/> and click on any link for the individual packages for your +platform. The first time you do this, your browser will ask what to +do with <literal>application/nix-package</literal> files. You should +open them with <filename>/nix/bin/nix-install-package</filename>. +This will open a window that asks you to confirm that you want to +install the package. When you answer <literal>Y</literal>, the +package and all its dependencies will be installed. This is a binary +deployment mechanism — you get packages pre-compiled for the selected +platform type.</para> <para>You can also install <literal>application/nix-package</literal> files from the command line directly. See <xref diff --git a/doc/manual/quick-start.xml b/doc/manual/quick-start.xml index eca58465f654..6d96cb5ac0bc 100644 --- a/doc/manual/quick-start.xml +++ b/doc/manual/quick-start.xml @@ -11,9 +11,9 @@ to the following chapters.</para> <orderedlist> -<listitem><para>Download a source tarball or RPM from <link -xlink:href='http://nixos.org/'/>. Build source -distributions using the regular sequence: +<listitem><para>Download a source tarball, RPM or Deb from <link +xlink:href='http://nixos.org/'/>. Build source distributions using +the regular sequence: <screen> $ tar xvfj nix-<replaceable>version</replaceable>.tar.bz2 @@ -21,13 +21,21 @@ $ ./configure $ make $ make install <lineannotation>(as root)</lineannotation></screen> -This will install Nix in <filename>/nix</filename>. You shouldn't -change the prefix if at all possible since that will make it -impossible to use pre-built binaries from the Nixpkgs channel and -other channels. Alternatively, you could grab an RPM if you're on an -RPM-based system. You should also add -<filename>/nix/etc/profile.d/nix.sh</filename> to your -<filename>~/.bashrc</filename> (or some other login +This will install the Nix binaries in <filename>/usr/local</filename> +and keep the Nix store and other state in <filename>/nix</filename>. +You can change the former by specifying +<option>--prefix=<replaceable>path</replaceable></option>. The +location of the store can be changed using +<option>--with-store-dir=<replaceable>path</replaceable></option>. +However, you shouldn't change the store location, if at all possible, +since that will make it impossible to use pre-built binaries from the +Nixpkgs channel and other channels. The location of the state can be +changed using +<option>--localstatedir=<replaceable>path</replaceable>.</option></para></listitem> + +<listitem><para>You should add +<filename><replaceable>prefix</replaceable>/etc/profile.d/nix.sh</filename> +to your <filename>~/.bashrc</filename> (or some other login file).</para></listitem> <listitem><para>Subscribe to the Nix Packages channel. @@ -100,7 +108,7 @@ numbers).</para></listitem> <listitem><para>You can also install specific packages directly from your web browser. For instance, you can go to <link -xlink:href="http://nix.cs.uu.nl/dist/nix/nixpkgs-unstable-latest/" /> +xlink:href="http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest" /> and click on any link for the individual packages for your platform. Associate <literal>application/nix-package</literal> with the program <filename>/nix/bin/nix-install-package</filename>. A window should diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 81543d313e07..5a98ad49af5d 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -8,7 +8,7 @@ <!--==================================================================--> -<section xml:id="ssec-relnotes-0.13"><title>Release 0.13 (November 4, +<section xml:id="ssec-relnotes-0.13"><title>Release 0.13 (November 5, 2009)</title> <para>This is primarily a bug fix release. It has some new |