My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/nixos/doc/manual/from_md/release-notes/rl-1404.section.xml

189 lines
6.8 KiB

<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 = [ &quot;multi-user.target&quot; ];
systemd.services.foo.serviceConfig.MemoryLimit = &quot;512M&quot;;
}
</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>