summary refs log tree commit diff
path: root/doc/release-notes.xml
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2018-05-01 19:54:21 -0400
committerGraham Christensen <graham@grahamc.com>2018-05-01 19:54:21 -0400
commit77161de4546697f9bf2da6d081eeba4c399b3313 (patch)
tree8f77aeeb5a17cbc0c76b4401a090f55addabf975 /doc/release-notes.xml
parentfd2dce9708ff68e8a5474d9bf691a23c52c7273e (diff)
downloadnixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.gz
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.bz2
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.lz
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.xz
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.zst
nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.zip
nixpkgs docs: format =)
Diffstat (limited to 'doc/release-notes.xml')
-rw-r--r--doc/release-notes.xml1353
1 files changed, 710 insertions, 643 deletions
diff --git a/doc/release-notes.xml b/doc/release-notes.xml
index a50ee877acdd..6dae6ae5620e 100644
--- a/doc/release-notes.xml
+++ b/doc/release-notes.xml
@@ -1,164 +1,177 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <article xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title>Nixpkgs Release Notes</title>
+ <section>
+  <title>Release 0.14 (June 4, 2012)</title>
+
+  <para>
+   In preparation for the switch from Subversion to Git, this release is mainly
+   the prevent the Nixpkgs version number from going backwards. (This would
+   happen because prerelease version numbers produced for the Git repository
+   are lower than those for the Subversion repository.)
+  </para>
 
-<title>Nixpkgs Release Notes</title>
-
-
-<section><title>Release 0.14 (June 4, 2012)</title>
-
-<para>In preparation for the switch from Subversion to Git, this
-release is mainly the prevent the Nixpkgs version number from going
-backwards.  (This would happen because prerelease version numbers
-produced for the Git repository are lower than those for the
-Subversion repository.)</para>
-
-<para>Since the last release, there have been thousands of changes and
-new packages by numerous contributors.  For details, see the commit
-logs.</para>
-
-</section>
-
-
-<section><title>Release 0.13 (February 5, 2010)</title>
-
-<para>As always, there are many changes.  Some of the most important
-updates are:
-
-<itemizedlist>
-
-  <listitem><para>Glibc 2.9.</para></listitem>
-
-  <listitem><para>GCC 4.3.3.</para></listitem>
-
-  <listitem><para>Linux 2.6.32.</para></listitem>
-
-  <listitem><para>X.org 7.5.</para></listitem>
-
-  <listitem><para>KDE 4.3.4.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-
-</section>
-
-
-<section><title>Release 0.12 (April 24, 2009)</title>
-
-<para>There are way too many additions to Nixpkgs since the last
-release to list here: for example, the number of packages on Linux has
-increased from 1002 to 2159.  However, some specific improvements are
-worth listing:
-
-<itemizedlist>
-
-  <listitem><para>Nixpkgs now has a manual.  In particular, it
-  describes the standard build environment in
-  detail.</para></listitem>
-
-  <listitem><para>Major new packages:
-
-    <itemizedlist>
-
-      <listitem><para>KDE 4.</para></listitem>
-
-      <listitem><para>TeXLive.</para></listitem>
-
-      <listitem><para>VirtualBox.</para></listitem>
-
-    </itemizedlist>
-
-    … and many others.
-
-  </para></listitem>
-
-  <listitem><para>Important updates:
-
-    <itemizedlist>
-
-      <listitem><para>Glibc 2.7.</para></listitem>
-      
-      <listitem><para>GCC 4.2.4.</para></listitem>
-
-      <listitem><para>Linux 2.6.25 — 2.6.28.</para></listitem>
-
-      <listitem><para>Firefox 3.</para></listitem>
-
-      <listitem><para>X.org 7.3.</para></listitem>
-
-    </itemizedlist>
-
-  </para></listitem>
-
-  <listitem><para>Support for building derivations in a virtual
-  machine, including RPM and Debian builds in automatically generated
-  VM images.  See
-  <filename>pkgs/build-support/vm/default.nix</filename> for
-  details.</para></listitem>
-
-  <listitem><para>Improved support for building Haskell
-  packages.</para></listitem>
-  
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
-Andres Löh,
-Arie Middelkoop,
-Armijn Hemel,
-Eelco Dolstra,
-Lluís Batlle,
-Ludovic Courtès,
-Marc Weber,
-Mart Kolthof,
-Martin Bravenboer,
-Michael Raskin,
-Nicolas Pierron,
-Peter Simons,
-Pjotr Prins,
-Rob Vermaas,
-Sander van der Burg,
-Tobias Hammerschmidt,
-Valentin David,
-Wouter den Breejen and
-Yury G. Kudryashov.
-
-In addition, several people contributed patches on the
-<literal>nix-dev</literal> mailing list.</para>
-
-</section>
-  
-
-<section><title>Release 0.11 (September 11, 2007)</title>
-
-<para>This release has the following improvements:
-
-<itemizedlist>
-
-  
-  <listitem><para>The standard build environment
-  (<literal>stdenv</literal>) is now pure on the
-  <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
-  platforms, just as on <literal>i686-linux</literal>.  (Purity means
-  that building and using the standard environment has no dependencies
-  outside of the Nix store.  For instance, it doesn’t require an
-  external C compiler such as <filename>/usr/bin/gcc</filename>.)
-  Also, the statically linked binaries used in the bootstrap process
-  are now automatically reproducible, making it easy to update the
-  bootstrap tools and to add support for other Linux platforms.  See
-  <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
-  details.</para></listitem>
-
-  
-  <listitem><para>Hook variables in the generic builder are now
-  executed using the <function>eval</function> shell command.  This
-  has a major advantage: you can write hooks directly in Nix
-  expressions.  For instance, rather than writing a builder like this:
+  <para>
+   Since the last release, there have been thousands of changes and new
+   packages by numerous contributors. For details, see the commit logs.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.13 (February 5, 2010)</title>
+
+  <para>
+   As always, there are many changes. Some of the most important updates are:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Glibc 2.9.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GCC 4.3.3.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Linux 2.6.32.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      X.org 7.5.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      KDE 4.3.4.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section>
+  <title>Release 0.12 (April 24, 2009)</title>
+
+  <para>
+   There are way too many additions to Nixpkgs since the last release to list
+   here: for example, the number of packages on Linux has increased from 1002
+   to 2159. However, some specific improvements are worth listing:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Nixpkgs now has a manual. In particular, it describes the standard build
+      environment in detail.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Major new packages:
+      <itemizedlist>
+       <listitem>
+        <para>
+         KDE 4.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         TeXLive.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         VirtualBox.
+        </para>
+       </listitem>
+      </itemizedlist>
+      … and many others.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Important updates:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Glibc 2.7.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         GCC 4.2.4.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Linux 2.6.25 — 2.6.28.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Firefox 3.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         X.org 7.3.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Support for building derivations in a virtual machine, including RPM and
+      Debian builds in automatically generated VM images. See
+      <filename>pkgs/build-support/vm/default.nix</filename> for details.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Improved support for building Haskell packages.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Arie
+   Middelkoop, Armijn Hemel, Eelco Dolstra, Lluís Batlle, Ludovic Courtès,
+   Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Nicolas
+   Pierron, Peter Simons, Pjotr Prins, Rob Vermaas, Sander van der Burg, Tobias
+   Hammerschmidt, Valentin David, Wouter den Breejen and Yury G. Kudryashov. In
+   addition, several people contributed patches on the
+   <literal>nix-dev</literal> mailing list.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.11 (September 11, 2007)</title>
+
+  <para>
+   This release has the following improvements:
+   <itemizedlist>
+    <listitem>
+     <para>
+      The standard build environment (<literal>stdenv</literal>) is now pure on
+      the <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
+      platforms, just as on <literal>i686-linux</literal>. (Purity means that
+      building and using the standard environment has no dependencies outside
+      of the Nix store. For instance, it doesn’t require an external C
+      compiler such as <filename>/usr/bin/gcc</filename>.) Also, the statically
+      linked binaries used in the bootstrap process are now automatically
+      reproducible, making it easy to update the bootstrap tools and to add
+      support for other Linux platforms. See
+      <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
+      details.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Hook variables in the generic builder are now executed using the
+      <function>eval</function> shell command. This has a major advantage: you
+      can write hooks directly in Nix expressions. For instance, rather than
+      writing a builder like this:
 <programlisting>
 source $stdenv/setup
 
@@ -169,290 +182,311 @@ postInstall() {
 }
 
 genericBuild</programlisting>
-
-  (the <literal>gzip</literal> builder), you can just add this
-  attribute to the derivation:
-
+      (the <literal>gzip</literal> builder), you can just add this attribute to
+      the derivation:
 <programlisting>
 postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";</programlisting>
-
-  and so a separate build script becomes unnecessary.  This should
-  allow us to get rid of most builders in Nixpkgs.</para></listitem>
-
-
-  <listitem><para>It is now possible to have the generic builder pass
-  arguments to <command>configure</command> and
-  <command>make</command> that contain whitespace.  Previously, for
-  example, you could say in a builder,
-
+      and so a separate build script becomes unnecessary. This should allow us
+      to get rid of most builders in Nixpkgs.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      It is now possible to have the generic builder pass arguments to
+      <command>configure</command> and <command>make</command> that contain
+      whitespace. Previously, for example, you could say in a builder,
 <programlisting>
 configureFlags="CFLAGS=-O0"</programlisting>
-
-  but not
-
+      but not
 <programlisting>
 configureFlags="CFLAGS=-O0 -g"</programlisting>
-
-  since the <literal>-g</literal> would be interpreted as a separate
-  argument to <command>configure</command>.  Now you can say
-
+      since the <literal>-g</literal> would be interpreted as a separate
+      argument to <command>configure</command>. Now you can say
 <programlisting>
 configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
-
-  or similarly
-
+      or similarly
 <programlisting>
 configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")</programlisting>
-
-  which does the right thing.  Idem for <literal>makeFlags</literal>,
-  <literal>installFlags</literal>, <literal>checkFlags</literal> and
-  <literal>distFlags</literal>.</para>
-
-  <para>Unfortunately you can't pass arrays to Bash through the
-  environment, so you can't put the array above in a Nix expression,
-  e.g.,
-
+      which does the right thing. Idem for <literal>makeFlags</literal>,
+      <literal>installFlags</literal>, <literal>checkFlags</literal> and
+      <literal>distFlags</literal>.
+     </para>
+     <para>
+      Unfortunately you can't pass arrays to Bash through the environment, so
+      you can't put the array above in a Nix expression, e.g.,
 <programlisting>
 configureFlagsArray = ["CFLAGS=-O0 -g"];</programlisting>
-
-  since it would just be flattened to a since string.  However, you
-  <emphasis>can</emphasis> use the inline hooks described above:
-
+      since it would just be flattened to a since string. However, you
+      <emphasis>can</emphasis> use the inline hooks described above:
 <programlisting>
 preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>The function <function>fetchurl</function> now has
-  support for two different kinds of mirroring of files.  First, it
-  has support for <emphasis>content-addressable mirrors</emphasis>.
-  For example, given the <function>fetchurl</function> call
-
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      The function <function>fetchurl</function> now has support for two
+      different kinds of mirroring of files. First, it has support for
+      <emphasis>content-addressable mirrors</emphasis>. For example, given the
+      <function>fetchurl</function> call
 <programlisting>
 fetchurl {
   url = http://releases.mozilla.org/<replaceable>...</replaceable>/firefox-2.0.0.6-source.tar.bz2;
   sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
 }</programlisting>
-
-  <function>fetchurl</function> will first try to download this file
-  from <link
+      <function>fetchurl</function> will first try to download this file from
+      <link
   xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
-  If that file doesn’t exist, it will try the original URL.  In
-  general, the “content-addressed” location is
-  <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
-  There is currently only one content-addressable mirror (<link
+      If that file doesn’t exist, it will try the original URL. In general,
+      the “content-addressed” location is
+      <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
+      There is currently only one content-addressable mirror
+      (<link
   xlink:href="http://tarballs.nixos.org"/>), but more can be
-  specified in the <varname>hashedMirrors</varname> attribute in
-  <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
-  setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
-  to a whitespace-separated list of URLs.</para>
-
-  <para>Second, <function>fetchurl</function> has support for
-  widely-mirrored distribution sites such as SourceForge or the Linux
-  kernel archives.  Given a URL of the form
-  <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
-  it will try to download <replaceable>path</replaceable> from a
-  configurable list of mirrors for <replaceable>site</replaceable>.
-  (This idea was borrowed from Gentoo Linux.)  Example:
+      specified in the <varname>hashedMirrors</varname> attribute in
+      <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
+      setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable to a
+      whitespace-separated list of URLs.
+     </para>
+     <para>
+      Second, <function>fetchurl</function> has support for widely-mirrored
+      distribution sites such as SourceForge or the Linux kernel archives.
+      Given a URL of the form
+      <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
+      it will try to download <replaceable>path</replaceable> from a
+      configurable list of mirrors for <replaceable>site</replaceable>. (This
+      idea was borrowed from Gentoo Linux.) Example:
 <programlisting>
 fetchurl {
   url = mirror://gnu/gcc/gcc-4.2.0/gcc-core-4.2.0.tar.bz2;
   sha256 = "0ykhzxhr8857dr97z0j9wyybfz1kjr71xk457cfapfw5fjas4ny1";
 }</programlisting>
-  Currently <replaceable>site</replaceable> can be
-  <literal>sourceforge</literal>, <literal>gnu</literal> and
-  <literal>kernel</literal>.  The list of mirrors is defined in
-  <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>.  You
-  can override the list of mirrors for a particular site by setting
-  the environment variable
-  <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
+      Currently <replaceable>site</replaceable> can be
+      <literal>sourceforge</literal>, <literal>gnu</literal> and
+      <literal>kernel</literal>. The list of mirrors is defined in
+      <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You can
+      override the list of mirrors for a particular site by setting the
+      environment variable
+      <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
 <programlisting>
 export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Important updates:
+      <itemizedlist>
+       <listitem>
+        <para>
+         Glibc 2.5.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         GCC 4.1.2.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Gnome 2.16.3.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         X11R7.2.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Linux 2.6.21.7 and 2.6.22.6.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Emacs 22.1.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Major new packages:
+      <itemizedlist>
+       <listitem>
+        <para>
+         KDE 3.5.6 Base.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Wine 0.9.43.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         OpenOffice 2.2.1.
+        </para>
+       </listitem>
+       <listitem>
+        <para>
+         Many Linux system packages to support NixOS.
+        </para>
+       </listitem>
+      </itemizedlist>
+     </para>
+    </listitem>
+   </itemizedlist>
   </para>
 
-  </listitem>
-
-
-  <listitem><para>Important updates:
-
-    <itemizedlist>
-
-      <listitem><para>Glibc 2.5.</para></listitem>
-      
-      <listitem><para>GCC 4.1.2.</para></listitem>
-      
-      <listitem><para>Gnome 2.16.3.</para></listitem>
-      
-      <listitem><para>X11R7.2.</para></listitem>
-      
-      <listitem><para>Linux 2.6.21.7 and 2.6.22.6.</para></listitem>
-      
-      <listitem><para>Emacs 22.1.</para></listitem>
-      
-    </itemizedlist>
-
-  </para></listitem>
-
-  
-  <listitem><para>Major new packages:
-
-    <itemizedlist>
-
-      <listitem><para>KDE 3.5.6 Base.</para></listitem>
-      
-      <listitem><para>Wine 0.9.43.</para></listitem>
-      
-      <listitem><para>OpenOffice 2.2.1.</para></listitem>
-      
-      <listitem><para>Many Linux system packages to support
-      NixOS.</para></listitem>
-      
-    </itemizedlist>
-
-  </para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Arie Middelkoop,
-  Armijn Hemel,
-  Eelco Dolstra,
-  Marc Weber,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Michael Raskin,
-  Wouter den Breejen and
-  Yury G. Kudryashov.
-
-</para>
-  
-</section>
-
-
-<section><title>Release 0.10 (October 12, 2006)</title>
-
-<note><para>This release of Nixpkgs requires <link
-xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix
-0.10</link> or higher.</para></note>
-
-<para>This release has the following improvements:</para>
-
-<itemizedlist>
-
-  <listitem><para><filename>pkgs/system/all-packages-generic.nix</filename>
-  is gone, we now just have
-  <filename>pkgs/top-level/all-packages.nix</filename> that contains
-  all available packages.  This should cause much less confusion with
-  users.  <filename>all-packages.nix</filename> is a function that by
-  default returns packages for the current platform, but you can
-  override this by specifying a different <varname>system</varname>
-  argument.</para></listitem>
-
-  <listitem><para>Certain packages in Nixpkgs are now
-  user-configurable through a configuration file, i.e., without having
-  to edit the Nix expressions in Nixpkgs.  For instance, the Firefox
-  provided in the Nixpkgs channel is built without the RealPlayer
-  plugin (for legal reasons).  Previously, you could easily enable
-  RealPlayer support by editing the call to the Firefox function in
-  <filename>all-packages.nix</filename>, but such changes are not
-  respected when Firefox is subsequently updated through the Nixpkgs
-  channel.</para>
-
-  <para>The Nixpkgs configuration file (found in
-  <filename>~/.nixpkgs/config.nix</filename> or through the
-  <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute
-  set that contains configuration options that
-  <filename>all-packages.nix</filename> reads and uses for certain
-  packages.  For instance, the following configuration file:
+  <para>
+   The following people contributed to this release: Andres Löh, Arie
+   Middelkoop, Armijn Hemel, Eelco Dolstra, Marc Weber, Mart Kolthof, Martin
+   Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.10 (October 12, 2006)</title>
+
+  <note>
+   <para>
+    This release of Nixpkgs requires
+    <link
+xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
+    or higher.
+   </para>
+  </note>
+
+  <para>
+   This release has the following improvements:
+  </para>
 
+  <itemizedlist>
+   <listitem>
+    <para>
+     <filename>pkgs/system/all-packages-generic.nix</filename> is gone, we now
+     just have <filename>pkgs/top-level/all-packages.nix</filename> that
+     contains all available packages. This should cause much less confusion
+     with users. <filename>all-packages.nix</filename> is a function that by
+     default returns packages for the current platform, but you can override
+     this by specifying a different <varname>system</varname> argument.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Certain packages in Nixpkgs are now user-configurable through a
+     configuration file, i.e., without having to edit the Nix expressions in
+     Nixpkgs. For instance, the Firefox provided in the Nixpkgs channel is
+     built without the RealPlayer plugin (for legal reasons). Previously, you
+     could easily enable RealPlayer support by editing the call to the Firefox
+     function in <filename>all-packages.nix</filename>, but such changes are
+     not respected when Firefox is subsequently updated through the Nixpkgs
+     channel.
+    </para>
+    <para>
+     The Nixpkgs configuration file (found in
+     <filename>~/.nixpkgs/config.nix</filename> or through the
+     <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute set
+     that contains configuration options that
+     <filename>all-packages.nix</filename> reads and uses for certain packages.
+     For instance, the following configuration file:
 <programlisting>
 {
   firefox = {
     enableRealPlayer = true;
   };
 }</programlisting>
-
-  persistently enables RealPlayer support in the Firefox
-  build.</para>
-
-  <para>(Actually, <literal>firefox.enableRealPlayer</literal> is the
-  <emphasis>only</emphasis> configuration option currently available,
-  but more are sure to be added.)</para></listitem>
-
-  <listitem><para>Support for new platforms:
-
-    <itemizedlist>
-
-      <listitem><para><literal>i686-cygwin</literal>, i.e., Windows
-      (using <link xlink:href="http://www.cygwin.com/">Cygwin</link>).
-      The standard environment on <literal>i686-cygwin</literal> by
-      default builds binaries for the Cygwin environment (i.e., it
-      uses Cygwin tools and produces executables that use the Cygwin
-      library).  However, there is also a standard environment that
-      produces binaries that use <link
-      xlink:href="http://www.mingw.org/">MinGW</link>.  You can use it
-      by calling <filename>all-package.nix</filename> with the
-      <varname>stdenvType</varname> argument set to
-      <literal>"i686-mingw"</literal>.</para></listitem>
-
-      <listitem><para><literal>i686-darwin</literal>, i.e., Mac OS X
-      on Intel CPUs.</para></listitem>
-
-      <listitem><para><literal>powerpc-linux</literal>.</para></listitem>
-
-      <listitem><para><literal>x86_64-linux</literal>, i.e., Linux on
-      64-bit AMD/Intel CPUs.  Unlike <literal>i686-linux</literal>,
-      this platform doesn’t have a pure <literal>stdenv</literal>
-      yet.</para></listitem>
-
-    </itemizedlist>
-
+     persistently enables RealPlayer support in the Firefox build.
     </para>
-
-  </listitem>
-        
-  <listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
-
-  <listitem><para>X11 updated to X.org’s X11R7.1.</para></listitem>
-
-  <listitem><para>Notable new packages:
-
-    <itemizedlist>
-
-      <listitem><para>Opera.</para></listitem>
-
-      <listitem><para>Microsoft Visual C++ 2005 Express Edition and
-      the Windows SDK.</para></listitem>
-
-    </itemizedlist>
-
-    In total there are now around 809 packages in Nixpkgs.</para>
-
-  </listitem>
-
-  
-  <listitem><para>It is now <emphasis>much</emphasis> easier to
-  override the default C compiler and other tools in
-  <literal>stdenv</literal> for specific packages.
-  <filename>all-packages.nix</filename> provides two utility
-  functions for this purpose: <function>overrideGCC</function> and
-  <function>overrideInStdenv</function>.  Both take a
-  <literal>stdenv</literal> and return an augmented
-  <literal>stdenv</literal>; the formed changes the C compiler, and
-  the latter adds additional packages to the front of
-  <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing
-  tools to be overridden.</para>
-
-  <para>For instance, the package <varname>strategoxt</varname>
-  doesn’t build with the GNU Make in <literal>stdenv</literal>
-  (version 3.81), so we call it with an augmented
-  <literal>stdenv</literal> that uses GNU Make 3.80:
-
+    <para>
+     (Actually, <literal>firefox.enableRealPlayer</literal> is the
+     <emphasis>only</emphasis> configuration option currently available, but
+     more are sure to be added.)
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Support for new platforms:
+     <itemizedlist>
+      <listitem>
+       <para>
+        <literal>i686-cygwin</literal>, i.e., Windows (using
+        <link xlink:href="http://www.cygwin.com/">Cygwin</link>). The standard
+        environment on <literal>i686-cygwin</literal> by default builds
+        binaries for the Cygwin environment (i.e., it uses Cygwin tools and
+        produces executables that use the Cygwin library). However, there is
+        also a standard environment that produces binaries that use
+        <link
+      xlink:href="http://www.mingw.org/">MinGW</link>. You can
+        use it by calling <filename>all-package.nix</filename> with the
+        <varname>stdenvType</varname> argument set to
+        <literal>"i686-mingw"</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>i686-darwin</literal>, i.e., Mac OS X on Intel CPUs.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>powerpc-linux</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>x86_64-linux</literal>, i.e., Linux on 64-bit AMD/Intel CPUs.
+        Unlike <literal>i686-linux</literal>, this platform doesn’t have a
+        pure <literal>stdenv</literal> yet.
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default compiler is now GCC 4.1.1.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     X11 updated to X.org’s X11R7.1.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        Opera.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Microsoft Visual C++ 2005 Express Edition and the Windows SDK.
+       </para>
+      </listitem>
+     </itemizedlist>
+     In total there are now around 809 packages in Nixpkgs.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It is now <emphasis>much</emphasis> easier to override the default C
+     compiler and other tools in <literal>stdenv</literal> for specific
+     packages. <filename>all-packages.nix</filename> provides two utility
+     functions for this purpose: <function>overrideGCC</function> and
+     <function>overrideInStdenv</function>. Both take a
+     <literal>stdenv</literal> and return an augmented
+     <literal>stdenv</literal>; the formed changes the C compiler, and the
+     latter adds additional packages to the front of
+     <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing tools
+     to be overridden.
+    </para>
+    <para>
+     For instance, the package <varname>strategoxt</varname> doesn’t build
+     with the GNU Make in <literal>stdenv</literal> (version 3.81), so we call
+     it with an augmented <literal>stdenv</literal> that uses GNU Make 3.80:
 <programlisting>
 strategoxt = (import ../development/compilers/strategoxt) {
   inherit fetchurl pkgconfig sdf aterm;
@@ -460,44 +494,37 @@ strategoxt = (import ../development/compilers/strategoxt) {
 };
 
 gnumake380 = <replaceable>...</replaceable>;</programlisting>
-
-  Likewise, there are many packages that don’t compile with the
-  default GCC (4.1.1), but that’s easily fixed:
-
+     Likewise, there are many packages that don’t compile with the default
+     GCC (4.1.1), but that’s easily fixed:
 <programlisting>
 exult = import ../games/exult {
   inherit fetchurl SDL SDL_mixer zlib libpng unzip;
   stdenv = overrideGCC stdenv gcc34;
 };</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>It has also become much easier to experiment with
-  changes to the <literal>stdenv</literal> setup script (which notably
-  contains the generic builder).  Since edits to
-  <filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild
-  of <emphasis>everything</emphasis>, this was formerly quite painful.
-  But now <literal>stdenv</literal> contains a function to
-  “regenerate” <literal>stdenv</literal> with a different setup
-  script, allowing the use of a different setup script for specific
-  packages:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     It has also become much easier to experiment with changes to the
+     <literal>stdenv</literal> setup script (which notably contains the generic
+     builder). Since edits to <filename>pkgs/stdenv/generic/setup.sh</filename>
+     trigger a rebuild of <emphasis>everything</emphasis>, this was formerly
+     quite painful. But now <literal>stdenv</literal> contains a function to
+     “regenerate” <literal>stdenv</literal> with a different setup script,
+     allowing the use of a different setup script for specific packages:
 <programlisting>
 pkg = import <replaceable>...</replaceable> {
   stdenv = stdenv.regenerate ./my-setup.sh;
   <replaceable>...</replaceable>
 }</programlisting>
-
-  </para></listitem>
-
-
-  <listitem><para>Packages can now have a human-readable
-  <emphasis>description</emphasis> field.  Package descriptions are
-  shown by <literal>nix-env -qa --description</literal>.  In addition,
-  they’re shown on the Nixpkgs release page.  A description can be
-  added to a package as follows:
-
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Packages can now have a human-readable <emphasis>description</emphasis>
+     field. Package descriptions are shown by <literal>nix-env -qa
+     --description</literal>. In addition, they’re shown on the Nixpkgs
+     release page. A description can be added to a package as follows:
 <programlisting>
 stdenv.mkDerivation {
   name = "exult-1.2";
@@ -506,228 +533,268 @@ stdenv.mkDerivation {
     description = "A reimplementation of the Ultima VII game engine";
   };
 }</programlisting>
-
-  The <varname>meta</varname> attribute is not passed to the builder,
-  so changes to the description do not trigger a rebuild.  Additional
-  <varname>meta</varname> attributes may be defined in the future
-  (such as the URL of the package’s homepage, the license,
-  etc.).</para></listitem>
-  
-</itemizedlist>
-
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Armijn Hemel,
-  Christof Douma,
-  Eelco Dolstra,
-  Eelco Visser,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Merijn de Jonge,
-  Rob Vermaas and
-  Roy van den Broek.
-
-</para>
-  
-</section>
-
-
-<section><title>Release 0.9 (January 31, 2006)</title>
-
-<para>There have been zillions of changes since the last release of
-Nixpkgs.  Many packages have been added or updated.  The following are
-some of the more notable changes:</para>
-
-<itemizedlist>
-
-  <listitem><para>Distribution files have been moved to <link
-  xlink:href="http://nixos.org/" />.</para></listitem>
-
-  <listitem><para>The C library on Linux, Glibc, has been updated to
-  version 2.3.6.</para></listitem>
-
-  <listitem><para>The default compiler is now GCC 3.4.5.  GCC 4.0.2 is
-  also available.</para></listitem>
-
-  <listitem><para>The old, unofficial Xlibs has been replaced by the
-  official modularised X11 distribution from X.org, i.e., X11R7.0.
-  X11R7.0 consists of 287 (!) packages, all of which are in Nixpkgs
-  though not all have been tested.  It is now possible to build a
-  working X server (previously we only had X client libraries).  We
-  use a fully Nixified X server on NixOS.</para></listitem>
-
-  <listitem><para>The Sun JDK 5 has been purified, i.e., it doesn’t
-  require any non-Nix components such as
-  <filename>/lib/ld-linux.so.2</filename>.  This means that Java
-  applications such as Eclipse and Azureus can run on
-  NixOS.</para></listitem>
-
-  <listitem><para>Hardware-accelerated OpenGL support, used by games
-  like Quake 3 (which is now built from source).</para></listitem>
-
-  <listitem><para>Improved support for FreeBSD on
-  x86.</para></listitem>
-
-  <listitem><para>Improved Haskell support; e.g., the GHC build is now
-  pure.</para></listitem>
-
-  <listitem><para>Some support for cross-compilation: cross-compiling
-  builds of GCC and Binutils, and cross-compiled builds of the C
-  library uClibc.</para></listitem>
-
-  <listitem><para>Notable new packages:
-
-    <itemizedlist>
-
-      <listitem><para>teTeX, including support for building LaTeX
-      documents using Nix (with automatic dependency
-      determination).</para></listitem>
-      
-      <listitem><para>Ruby.</para></listitem>
-
-      <listitem><para>System-level packages to support NixOS,
-      e.g. Grub, GNU <literal>parted</literal> and so
-      on.</para></listitem>
-
-      <listitem><para><literal>ecj</literal>, the Eclipse Compiler for
-      Java, so we finally have a freely distributable compiler that
-      supports Java 5.0.</para></listitem>
-
-      <listitem><para><literal>php</literal>.</para></listitem>
-
-      <listitem><para>The GIMP.</para></listitem>
-
-      <listitem><para>Inkscape.</para></listitem>
-
-      <listitem><para>GAIM.</para></listitem>
-
-      <listitem><para><literal>kdelibs</literal>.  This allows us to
-      add KDE-based packages (such as
-      <literal>kcachegrind</literal>).</para></listitem>
-
-    </itemizedlist>
-
-  </para></listitem>
-
-</itemizedlist>
-
-<para>The following people contributed to this release:
-
-  Andres Löh,
-  Armijn Hemel,
-  Bogdan Dumitriu,
-  Christof Douma,
-  Eelco Dolstra,
-  Eelco Visser,
-  Mart Kolthof,
-  Martin Bravenboer,
-  Rob Vermaas and
-  Roy van den Broek.
-
-</para>
-
-</section>
-
-
-<section><title>Release 0.8 (April 11, 2005)</title>
-
-<para>This release is mostly to remain synchronised with the changed
-hashing scheme in Nix 0.8.</para>
-
-<para>Notable updates:
-
-<itemizedlist>
-
-  <listitem><para>Adobe Reader 7.0</para></listitem>
-
-  <listitem><para>Various security updates (zlib 1.2.2, etc.)</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-</section>
-
-
-<section><title>Release 0.7 (March 14, 2005)</title>
-
-<itemizedlist>
-
-<listitem>
-
-  <para>The bootstrap process for the standard build
-  environment on Linux (stdenv-linux) has been improved.  It is no
-  longer dependent in its initial bootstrap stages on the system
-  Glibc, GCC, and other tools.  Rather, Nixpkgs contains a statically
-  linked bash and curl, and uses that to download other statically
-  linked tools.  These are then used to build a Glibc and dynamically
-  linked versions of all other tools.</para>
-
-  <para>This change also makes the bootstrap process faster.  For
-  instance, GCC is built only once instead of three times.</para>
-
-  <para>(Contributed by Armijn Hemel.)</para>
-
-</listitem>
-
-<listitem>
-
-  <para>Tarballs used by Nixpkgs are now obtained from the same server
-  that hosts Nixpkgs (<link
-  xlink:href="http://catamaran.labs.cs.uu.nl/" />).  This reduces the
-  risk of packages being unbuildable due to moved or deleted files on
-  various servers.</para>
-
-</listitem>
-
-<listitem>
-
-  <para>There now is a generic mechanism for building Perl modules.
-  See the various Perl modules defined in
-  pkgs/system/all-packages-generic.nix.</para>
-
-</listitem>
-
-<listitem>
-
-  <para>Notable new packages:
-
-  <itemizedlist>
-
-    <listitem><para>Qt 3</para></listitem>
-    <listitem><para>MySQL</para></listitem>
-    <listitem><para>MythTV</para></listitem>
-    <listitem><para>Mono</para></listitem>
-    <listitem><para>MonoDevelop (alpha)</para></listitem>
-    <listitem><para>Xine</para></listitem>
-
+     The <varname>meta</varname> attribute is not passed to the builder, so
+     changes to the description do not trigger a rebuild. Additional
+     <varname>meta</varname> attributes may be defined in the future (such as
+     the URL of the package’s homepage, the license, etc.).
+    </para>
+   </listitem>
   </itemizedlist>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Armijn Hemel,
+   Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin
+   Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
+  </para>
+ </section>
+ <section>
+  <title>Release 0.9 (January 31, 2006)</title>
+
+  <para>
+   There have been zillions of changes since the last release of Nixpkgs. Many
+   packages have been added or updated. The following are some of the more
+   notable changes:
   </para>
-
-</listitem>
-
-<listitem>
-
-  <para>Notable updates:
 
   <itemizedlist>
-
-    <listitem><para>GCC 3.4.3</para></listitem>
-    <listitem><para>Glibc 2.3.4</para></listitem>
-    <listitem><para>GTK 2.6</para></listitem>
-
+   <listitem>
+    <para>
+     Distribution files have been moved to
+     <link
+  xlink:href="http://nixos.org/" />.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The C library on Linux, Glibc, has been updated to version 2.3.6.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default compiler is now GCC 3.4.5. GCC 4.0.2 is also available.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The old, unofficial Xlibs has been replaced by the official modularised
+     X11 distribution from X.org, i.e., X11R7.0. X11R7.0 consists of 287 (!)
+     packages, all of which are in Nixpkgs though not all have been tested. It
+     is now possible to build a working X server (previously we only had X
+     client libraries). We use a fully Nixified X server on NixOS.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The Sun JDK 5 has been purified, i.e., it doesn’t require any non-Nix
+     components such as <filename>/lib/ld-linux.so.2</filename>. This means
+     that Java applications such as Eclipse and Azureus can run on NixOS.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Hardware-accelerated OpenGL support, used by games like Quake 3 (which is
+     now built from source).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Improved support for FreeBSD on x86.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Improved Haskell support; e.g., the GHC build is now pure.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Some support for cross-compilation: cross-compiling builds of GCC and
+     Binutils, and cross-compiled builds of the C library uClibc.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        teTeX, including support for building LaTeX documents using Nix (with
+        automatic dependency determination).
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Ruby.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        System-level packages to support NixOS, e.g. Grub, GNU
+        <literal>parted</literal> and so on.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>ecj</literal>, the Eclipse Compiler for Java, so we finally
+        have a freely distributable compiler that supports Java 5.0.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>php</literal>.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        The GIMP.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Inkscape.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GAIM.
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        <literal>kdelibs</literal>. This allows us to add KDE-based packages
+        (such as <literal>kcachegrind</literal>).
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
   </itemizedlist>
 
+  <para>
+   The following people contributed to this release: Andres Löh, Armijn Hemel,
+   Bogdan Dumitriu, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof,
+   Martin Bravenboer, Rob Vermaas and Roy van den Broek.
   </para>
+ </section>
+ <section>
+  <title>Release 0.8 (April 11, 2005)</title>
 
-</listitem>
-
-</itemizedlist>
+  <para>
+   This release is mostly to remain synchronised with the changed hashing
+   scheme in Nix 0.8.
+  </para>
 
-</section>
+  <para>
+   Notable updates:
+   <itemizedlist>
+    <listitem>
+     <para>
+      Adobe Reader 7.0
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Various security updates (zlib 1.2.2, etc.)
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </section>
+ <section>
+  <title>Release 0.7 (March 14, 2005)</title>
 
-  
+  <itemizedlist>
+   <listitem>
+    <para>
+     The bootstrap process for the standard build environment on Linux
+     (stdenv-linux) has been improved. It is no longer dependent in its initial
+     bootstrap stages on the system Glibc, GCC, and other tools. Rather,
+     Nixpkgs contains a statically linked bash and curl, and uses that to
+     download other statically linked tools. These are then used to build a
+     Glibc and dynamically linked versions of all other tools.
+    </para>
+    <para>
+     This change also makes the bootstrap process faster. For instance, GCC is
+     built only once instead of three times.
+    </para>
+    <para>
+     (Contributed by Armijn Hemel.)
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Tarballs used by Nixpkgs are now obtained from the same server that hosts
+     Nixpkgs (<link
+  xlink:href="http://catamaran.labs.cs.uu.nl/" />). This
+     reduces the risk of packages being unbuildable due to moved or deleted
+     files on various servers.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     There now is a generic mechanism for building Perl modules. See the
+     various Perl modules defined in pkgs/system/all-packages-generic.nix.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable new packages:
+     <itemizedlist>
+      <listitem>
+       <para>
+        Qt 3
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MySQL
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MythTV
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Mono
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        MonoDevelop (alpha)
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Xine
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Notable updates:
+     <itemizedlist>
+      <listitem>
+       <para>
+        GCC 3.4.3
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        Glibc 2.3.4
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        GTK 2.6
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+  </itemizedlist>
+ </section>
 </article>