From 268d90a03eaab95d13c1326d58fb2287c628aedc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 5 Nov 2009 09:07:43 +0000 Subject: [PATCH] * Various updates. --- doc/manual/installation.xml | 54 +++++++++++------- doc/manual/introduction.xml | 2 +- doc/manual/nix-lang-ref.xml | 95 ------------------------------- doc/manual/package-management.xml | 23 ++++---- doc/manual/quick-start.xml | 30 ++++++---- doc/manual/release-notes.xml | 2 +- 6 files changed, 63 insertions(+), 143 deletions(-) diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml index 7adf00cb..0e66b8f0 100644 --- a/doc/manual/installation.xml +++ b/doc/manual/installation.xml @@ -140,16 +140,25 @@ $ ./bootstrap The installation path can be specified by passing the to configure. The default installation directory is -/nix. You can change this to any location you -like. You must have write permission to the +/usr/local. You can change this to any location +you like. You must have write permission to the prefix path. -It is best not to change the -installation prefix from its default, since doing so makes it -impossible to use pre-built binaries from the standard Nixpkgs -channels. +Nix keeps its store (the place where +packages are stored) in /nix/store by default. +This can be changed using +. -If you want to rebuilt the documentation, pass the full path to +It is best not 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. + +Nix keeps state (such as its database and log files) in +/nix/var by default. This can be changed using +. + +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 @@ -160,27 +169,26 @@ options. -
Installing from RPMs +
Installing a binary distribution -RPM packages of Nix can be downloaded from . 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 -glibc 2.3 or later. - -Once downloaded, the RPMs can be installed or upgraded using -rpm -U. For example, +RPM and Deb packages of Nix for a number of different versions +of Fedora, openSUSE, Debian and Ubuntu can be downloaded from . Once downloaded, the RPMs can be +installed or upgraded using rpm -U. For example, -$ rpm -U nix-0.5pre664-1.i386.rpm +$ rpm -U nix-0.13pre18104-1.i386.rpm + +Likewise, for a Deb package: + + +$ dpkg -i nix_0.13pre18104-1_amd64.deb -The RPMs install into the directory /nix. -Nix can be uninstalled using rpm -e nix. After -this it will be necessary to manually remove the Nix store and other -auxiliary data: +Nix can be uninstalled using rpm -e nix or +dpkg -r nix. After this you should manually remove +the Nix store and other auxiliary data, if desired: $ rm -rf /nix/store @@ -191,6 +199,7 @@ $ rm -rf /nix/var
+
Security diff --git a/doc/manual/introduction.xml b/doc/manual/introduction.xml index 2e32a649..0cf57fd8 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 Purely Functional System Configuration Management. The Nix homepage has an up-to-date list +xlink:href="http://nixos.org/docs/papers.html">an up-to-date list of Nix-related papers. Nix is the subject of Eelco Dolstra’s PhD thesis - - - - - Semantics - - - - - Built-in functions - - - The Nix language provides the following built-in function - (primops): - - - - - - import - e - - - Evaluates the expression e, - 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. - - - - Example: import ./foo.nix evaluates - the expression stored in foo.nix - (in the directory containing the expression in which the - import occurs). - - - - - - derivation - e - - - Evaluates the expression e, - which must yield an attribute set. [...] - - - - - - baseNameOf - e - - - Evaluates the expression e, - which must yield a string value, and returns a string - representing its base name. This - is the substring following the last path separator - (/). - - - - Example: baseNameOf "/foo/bar" - returns "bar", and - baseNameOf "/foo/bar/" returns - "". - - - - - - toString - e - - - Evaluates the expression e - and coerces it into a string, if possible. Only - strings, paths, and URIs can be so coerced. - - - - Example: toString - http://www.cs.uu.nl/ returns - "http://www.cs.uu.nl/". - - - - - - - - - - diff --git a/doc/manual/package-management.xml b/doc/manual/package-management.xml index 387258e6..167e96e6 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. For instance, you can go to — -or to any older release of Nix Packages — and click on any link for -the individual packages for your platform (say, subversion-1.4.0 -for i686-linux). The first time you do -this, your browser will ask what to do with -application/nix-package files. You should open -them with /nix/bin/nix-install-package. This -will open a window that asks you to confirm that you want to install -the package. When you answer Y, 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. +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 application/nix-package files. You should +open them with /nix/bin/nix-install-package. +This will open a window that asks you to confirm that you want to +install the package. When you answer Y, 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. You can also install application/nix-package files from the command line directly. See -Download a source tarball or RPM from . Build source -distributions using the regular sequence: +Download a source tarball, RPM or Deb from . Build source distributions using +the regular sequence: $ tar xvfj nix-version.tar.bz2 @@ -21,13 +21,21 @@ $ ./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 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 -/nix/etc/profile.d/nix.sh to your -~/.bashrc (or some other login +This will install the Nix binaries in /usr/local +and keep the Nix store and other state in /nix. +You can change the former by specifying +. The +location of the store can be changed using +. +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 + + +You should add +prefix/etc/profile.d/nix.sh +to your ~/.bashrc (or some other login file). Subscribe to the Nix Packages channel. @@ -100,7 +108,7 @@ numbers). You can also install specific packages directly from your web browser. For instance, you can go to +xlink:href="http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest" /> and click on any link for the individual packages for your platform. Associate application/nix-package with the program /nix/bin/nix-install-package. A window should diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 81543d31..5a98ad49 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -8,7 +8,7 @@ -
Release 0.13 (November 4, +<section xml:id="ssec-relnotes-0.13"><title>Release 0.13 (November 5, 2009) This is primarily a bug fix release. It has some new