forked from mirrors/nixpkgs
1f6969dd5e
docs: nixos release notes (revise code blocks) docs: nixos release notes (fix opt links outside of code blocks) docs: nixos release notes (fix opt links inside of code blocks) went fishing with: ```console rg -A1 \ --multiline \ --multiline-dotall \ '<programlisting>[^</programlisting>]+' \ | rg linkend ``` docs: nixos release notes (prettier) docs: nixos release notes (fix zonefile codeblocks) docs: nixos release notes (restore admonition from prettier destriction) docs: nixos release notes (recreate xml files) docs: nixos release notes (fix trnslation error md -> xml) admonition with a title seem not to work docs: nixos release notes (fix code block indentation) docs: nixos release notes (diff after converting with https://github.com/NixOS/nixpkgs/pull/127270) docs: nixos release notes (fix remaingin '???') Those where not catched i a previous iteration since they didn't satisfy the then presumed search regex `#opt-.*` doc: nixos release notes make docbook/md conversion consistent
190 lines
6.8 KiB
XML
190 lines
6.8 KiB
XML
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-14.04">
|
||
<title>Release 14.04 (<quote>Baboon</quote>, 2014/04/30)</title>
|
||
<para>
|
||
This is the second stable release branch of NixOS. In addition to
|
||
numerous new and upgraded packages and modules, this release has the
|
||
following highlights:
|
||
</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
Installation on UEFI systems is now supported. See
|
||
<xref linkend="sec-installation" /> for details.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Systemd has been updated to version 212, which has
|
||
<link xlink:href="http://cgit.freedesktop.org/systemd/systemd/plain/NEWS?id=v212">numerous
|
||
improvements</link>. NixOS now automatically starts systemd user
|
||
instances when you log in. You can define global user units
|
||
through the <literal>systemd.unit.*</literal> options.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
NixOS is now based on Glibc 2.19 and GCC 4.8.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The default Linux kernel has been updated to 3.12.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
KDE has been updated to 4.12.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
GNOME 3.10 experimental support has been added.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Nix has been updated to 1.7
|
||
(<link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-1.7">details</link>).
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
NixOS now supports fully declarative management of users and
|
||
groups. If you set <literal>users.mutableUsers</literal> to
|
||
<literal>false</literal>, then the contents of
|
||
<literal>/etc/passwd</literal> and <literal>/etc/group</literal>
|
||
will be
|
||
<link xlink:href="https://www.usenix.org/legacy/event/lisa02/tech/full_papers/traugott/traugott_html/">congruent</link>
|
||
to your NixOS configuration. For instance, if you remove a user
|
||
from <literal>users.extraUsers</literal> and run
|
||
<literal>nixos-rebuild</literal>, the user account will cease to
|
||
exist. Also, imperative commands for managing users and groups,
|
||
such as <literal>useradd</literal>, are no longer available. If
|
||
<literal>users.mutableUsers</literal> is <literal>true</literal>
|
||
(the default), then behaviour is unchanged from NixOS 13.10.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
NixOS now has basic container support, meaning you can easily
|
||
run a NixOS instance as a container in a NixOS host system.
|
||
These containers are suitable for testing and experimentation
|
||
but not production use, since they’re not fully isolated from
|
||
the host. See <xref linkend="ch-containers" /> for details.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Systemd units provided by packages can now be overridden from
|
||
the NixOS configuration. For instance, if a package
|
||
<literal>foo</literal> provides systemd units, you can say:
|
||
</para>
|
||
<programlisting language="bash">
|
||
{
|
||
systemd.packages = [ pkgs.foo ];
|
||
}
|
||
</programlisting>
|
||
<para>
|
||
to enable those units. You can then set or override unit options
|
||
in the usual way, e.g.
|
||
</para>
|
||
<programlisting language="bash">
|
||
{
|
||
systemd.services.foo.wantedBy = [ "multi-user.target" ];
|
||
systemd.services.foo.serviceConfig.MemoryLimit = "512M";
|
||
}
|
||
</programlisting>
|
||
<para>
|
||
When upgrading from a previous release, please be aware of the
|
||
following incompatible changes:
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Nixpkgs no longer exposes unfree packages by default. If your
|
||
NixOS configuration requires unfree packages from Nixpkgs, you
|
||
need to enable support for them explicitly by setting:
|
||
</para>
|
||
<programlisting language="bash">
|
||
{
|
||
nixpkgs.config.allowUnfree = true;
|
||
}
|
||
</programlisting>
|
||
<para>
|
||
Otherwise, you get an error message such as:
|
||
</para>
|
||
<programlisting>
|
||
error: package ‘nvidia-x11-331.49-3.12.17’ in ‘…/nvidia-x11/default.nix:56’
|
||
has an unfree license, refusing to evaluate
|
||
</programlisting>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The Adobe Flash player is no longer enabled by default in the
|
||
Firefox and Chromium wrappers. To enable it, you must set:
|
||
</para>
|
||
<programlisting language="bash">
|
||
{
|
||
nixpkgs.config.allowUnfree = true;
|
||
nixpkgs.config.firefox.enableAdobeFlash = true; # for Firefox
|
||
nixpkgs.config.chromium.enableAdobeFlash = true; # for Chromium
|
||
}
|
||
</programlisting>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The firewall is now enabled by default. If you don’t want this,
|
||
you need to disable it explicitly:
|
||
</para>
|
||
<programlisting language="bash">
|
||
{
|
||
networking.firewall.enable = false;
|
||
}
|
||
</programlisting>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The option <literal>boot.loader.grub.memtest86</literal> has
|
||
been renamed to
|
||
<literal>boot.loader.grub.memtest86.enable</literal>.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The <literal>mysql55</literal> service has been merged into the
|
||
<literal>mysql</literal> service, which no longer sets a default
|
||
for the option <literal>services.mysql.package</literal>.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Package variants are now differentiated by suffixing the name,
|
||
rather than the version. For instance,
|
||
<literal>sqlite-3.8.4.3-interactive</literal> is now called
|
||
<literal>sqlite-interactive-3.8.4.3</literal>. This ensures that
|
||
<literal>nix-env -i sqlite</literal> is unambiguous, and that
|
||
<literal>nix-env -u</literal> won’t <quote>upgrade</quote>
|
||
<literal>sqlite</literal> to
|
||
<literal>sqlite-interactive</literal> or vice versa. Notably,
|
||
this change affects the Firefox wrapper (which provides
|
||
plugins), as it is now called
|
||
<literal>firefox-wrapper</literal>. So when using
|
||
<literal>nix-env</literal>, you should do
|
||
<literal>nix-env -e firefox; nix-env -i firefox-wrapper</literal>
|
||
if you want to keep using the wrapper. This change does not
|
||
affect declarative package management, since attribute names
|
||
like <literal>pkgs.firefoxWrapper</literal> were already
|
||
unambiguous.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
The symlink <literal>/etc/ca-bundle.crt</literal> is gone.
|
||
Programs should instead use the environment variable
|
||
<literal>OPENSSL_X509_CERT_FILE</literal> (which points to
|
||
<literal>/etc/ssl/certs/ca-bundle.crt</literal>).
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</section>
|