aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/release-notes/rl-16.xml
diff options
context:
space:
mode:
authorMikey Ariel <mariel@redhat.com>2014-08-27 18:41:09 +0200
committerMikey Ariel <mariel@redhat.com>2014-08-27 18:41:09 +0200
commit8901acc97664aa8ebf687ee904428aa57a5192be (patch)
treef7bfefccbc2a08cc49eb37b424758a6158b29b58 /doc/manual/release-notes/rl-16.xml
parent3f0a4bf0e7254edddaa864d23893d98da23c2977 (diff)
Restructuring the Nix manual
Diffstat (limited to 'doc/manual/release-notes/rl-16.xml')
-rw-r--r--doc/manual/release-notes/rl-16.xml127
1 files changed, 127 insertions, 0 deletions
diff --git a/doc/manual/release-notes/rl-16.xml b/doc/manual/release-notes/rl-16.xml
new file mode 100644
index 000000000..c0285b66f
--- /dev/null
+++ b/doc/manual/release-notes/rl-16.xml
@@ -0,0 +1,127 @@
+<chapter 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="ssec-relnotes-1.6.0">
+
+<title>Release 1.6 (September 10, 2013)</title>
+
+<para>In addition to the usual bug fixes, this release has several new
+features:</para>
+
+<itemizedlist>
+
+ <listitem>
+ <para>The command <command>nix-build --run-env</command> has been
+ renamed to <command>nix-shell</command>.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-shell</command> now sources
+ <filename>$stdenv/setup</filename> <emphasis>inside</emphasis> the
+ interactive shell, rather than in a parent shell. This ensures
+ that shell functions defined by <literal>stdenv</literal> can be
+ used in the interactive shell.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-shell</command> has a new flag
+ <option>--pure</option> to clear the environment, so you get an
+ environment that more closely corresponds to the “real” Nix build.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-shell</command> now sets the shell prompt
+ (<envar>PS1</envar>) to ensure that Nix shells are distinguishable
+ from your regular shells.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-env</command> no longer requires a
+ <literal>*</literal> argument to match all packages, so
+ <literal>nix-env -qa</literal> is equivalent to <literal>nix-env
+ -qa '*'</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>nix-env -i</command> has a new flag
+ <option>--remove-all</option> (<option>-r</option>) to remove all
+ previous packages from the profile. This makes it easier to do
+ declarative package management similar to NixOS’s
+ <option>environment.systemPackages</option>. For instance, if you
+ have a specification <filename>my-packages.nix</filename> like this:
+
+<programlisting>
+with import &lt;nixpkgs> {};
+[ thunderbird
+ geeqie
+ ...
+]
+</programlisting>
+
+ then after any change to this file, you can run:
+
+<screen>
+$ nix-env -f my-packages.nix -ir
+</screen>
+
+ to update your profile to match the specification.</para>
+ </listitem>
+
+ <listitem>
+ <para>The ‘<literal>with</literal>’ language construct is now more
+ lazy. It only evaluates its argument if a variable might actually
+ refer to an attribute in the argument. For instance, this now
+ works:
+
+<programlisting>
+let
+ pkgs = with pkgs; { foo = "old"; bar = foo; } // overrides;
+ overrides = { foo = "new"; };
+in pkgs.bar
+</programlisting>
+
+ This evaluates to <literal>"new"</literal>, while previously it
+ gave an “infinite recursion” error.</para>
+ </listitem>
+
+ <listitem>
+ <para>Nix now has proper integer arithmetic operators. For
+ instance, you can write <literal>x + y</literal> instead of
+ <literal>builtins.add x y</literal>, or <literal>x &lt;
+ y</literal> instead of <literal>builtins.lessThan x y</literal>.
+ The comparison operators also work on strings.</para>
+ </listitem>
+
+ <listitem>
+ <para>On 64-bit systems, Nix integers are now 64 bits rather than
+ 32 bits.</para>
+ </listitem>
+
+ <listitem>
+ <para>When using the Nix daemon, the <command>nix-daemon</command>
+ worker process now runs on the same CPU as the client, on systems
+ that support setting CPU affinity. This gives a significant speedup
+ on some systems.</para>
+ </listitem>
+
+ <listitem>
+ <para>If a stack overflow occurs in the Nix evaluator, you now get
+ a proper error message (rather than “Segmentation fault”) on some
+ systems.</para>
+ </listitem>
+
+ <listitem>
+ <para>In addition to directories, you can now bind-mount regular
+ files in chroots through the (now misnamed) option
+ <option>build-chroot-dirs</option>.</para>
+ </listitem>
+
+</itemizedlist>
+
+<para>This release has contributions from Domen Kožar, Eelco Dolstra,
+Florian Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea
+Levy.</para>
+
+</chapter> \ No newline at end of file