mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
Update the release notes
This commit is contained in:
parent
0c4c8f7a9d
commit
a58efdb69b
1 changed files with 84 additions and 14 deletions
|
@ -10,7 +10,8 @@
|
||||||
|
|
||||||
<section xml:id="ssec-relnotes-1.0"><title>Release 1.0 (TBA)</title>
|
<section xml:id="ssec-relnotes-1.0"><title>Release 1.0 (TBA)</title>
|
||||||
|
|
||||||
<para>This release has the following improvements:</para>
|
<para>There have been numerous improvements and bug fixes since the
|
||||||
|
previous release. Here are the most significant:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
|
@ -22,6 +23,86 @@
|
||||||
option.</para>
|
option.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix now uses SQLite for its database. This is faster and
|
||||||
|
more flexible than the old <emphasis>ad hoc</emphasis> format.
|
||||||
|
SQLite is also used to cache the manifests in
|
||||||
|
<filename>/nix/var/nix/manifests</filename>, resulting in a
|
||||||
|
significant speedup.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix now has an search path for expressions. The search path
|
||||||
|
is set using the environment variable <envar>NIX_PATH</envar> and
|
||||||
|
the <option>-I</option> command line option. In Nix expressions,
|
||||||
|
paths between angle brackets are used to specify files that must
|
||||||
|
be looked up in the search path. For instance, the expression
|
||||||
|
<literal><nixpkgs/default.nix></literal> looks for a file
|
||||||
|
<filename>nixpkgs/default.nix</filename> relative to every element
|
||||||
|
in the search path.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The new command <command>nix-build --run-env</command>
|
||||||
|
builds all dependencies of a derivation, then starts a shell in an
|
||||||
|
environment containing all variables from the derivation. This is
|
||||||
|
useful for reproducing the environment of a derivation for
|
||||||
|
development.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The new command <command>nix-store --verify-path</command>
|
||||||
|
verifies that the contents of a store path have not
|
||||||
|
changed.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The new command <command>nix-store --print-env</command>
|
||||||
|
prints out the environment of a derivation in a format that can be
|
||||||
|
evaluated by a shell.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Attribute names can now be arbitrary strings. For instance,
|
||||||
|
you can write <literal>{ "foo-1.2" = …; "bla bla" = …; }."bla
|
||||||
|
bla"</literal>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Attribute selection can now provide a default value using
|
||||||
|
the <literal>or</literal> operator. For instance, the expression
|
||||||
|
<literal>x.y.z or e</literal> evaluates to the attribute
|
||||||
|
<literal>x.y.z</literal> if it exists, and <literal>e</literal>
|
||||||
|
otherwise.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The right-hand side of the <literal>?</literal> operator can
|
||||||
|
now be an attribute path, e.g., <literal>attrs ?
|
||||||
|
a.b.c</literal>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>On Linux, Nix will now make files in the Nix store immutable
|
||||||
|
on filesystems that support it. This prevents accidental
|
||||||
|
modification of files in the store by the root user.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix has preliminary support for derivations with multiple
|
||||||
|
outputs. This is useful because it allows parts of a package to
|
||||||
|
be deployed and garbage-collected separately. For instance,
|
||||||
|
development parts of a package such as header files or static
|
||||||
|
libraries would typically not be part of the closure of an
|
||||||
|
application, resulting in reduced disk usage and installation
|
||||||
|
time.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The Nix store garbage collector is faster and holds the
|
||||||
|
global lock for a shorter amount of time.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The option <option>--timeout</option> (corresponding to the
|
<para>The option <option>--timeout</option> (corresponding to the
|
||||||
configuration setting <literal>build-timeout</literal>) allows you
|
configuration setting <literal>build-timeout</literal>) allows you
|
||||||
|
@ -33,19 +114,8 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>TODO: “or” keyword.</para>
|
<para>Nix development has moved to GitHub (<link
|
||||||
</listitem>
|
xlink:href="https://github.com/NixOS/nix" />).</para>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>TODO: Nix expression search path (<literal>import <foo/bar.nix></literal>).</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>TODO: <command>nix-store --verify-path</command> command.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>TODO: <command>nix-store --print-env</command> command.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
Loading…
Reference in a new issue