nixos docs: format =)

This commit is contained in:
Graham Christensen
2018-05-01 19:57:09 -04:00
parent 77161de454
commit eca5c99bf8
91 changed files with 9705 additions and 7852 deletions
+148 -129
View File
@@ -3,158 +3,177 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-release-14.04">
<title>Release 14.04 (“Baboon”, 2014/04/30)</title>
<title>Release 14.04 (“Baboon”, 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:
<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 <option>systemd.unit.*</option> 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="http://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 <option>users.mutableUsers</option> to
<literal>false</literal>, then the contents of
<filename>/etc/passwd</filename> and <filename>/etc/group</filename>
will be <link
<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:
<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
<option>systemd.unit.*</option> 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="http://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 <option>users.mutableUsers</option> to <literal>false</literal>,
then the contents of <filename>/etc/passwd</filename> and
<filename>/etc/group</filename> 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
<option>users.extraUsers</option> and run
<command>nixos-rebuild</command>, the user account will cease to
exist. Also, imperative commands for managing users and groups, such
as <command>useradd</command>, are no longer available. If
<option>users.mutableUsers</option> 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 theyre 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:
to your NixOS configuration. For instance, if you remove a user from
<option>users.extraUsers</option> and run
<command>nixos-rebuild</command>, the user account will cease to exist.
Also, imperative commands for managing users and groups, such as
<command>useradd</command>, are no longer available. If
<option>users.mutableUsers</option> 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
theyre 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:
<programlisting>
systemd.packages = [ pkgs.foo ];
</programlisting>
to enable those units. You can then set or override unit options in
the usual way, e.g.
to enable those units. You can then set or override unit options in the
usual way, e.g.
<programlisting>
systemd.services.foo.wantedBy = [ "multi-user.target" ];
systemd.services.foo.serviceConfig.MemoryLimit = "512M";
</programlisting>
</para>
</listitem>
</itemizedlist>
</para>
</para></listitem>
</itemizedlist>
</para>
<para>When upgrading from a previous release, please be aware of the
following incompatible changes:
<itemizedlist>
<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>
When upgrading from a previous release, please be aware of the following
incompatible changes:
<itemizedlist>
<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:
<programlisting>
nixpkgs.config.allowUnfree = true;
</programlisting>
Otherwise, you get an error message such as:
Otherwise, you get an error message such as:
<screen>
error: package nvidia-x11-331.49-3.12.17 in ‘…/nvidia-x11/default.nix:56
has an unfree license, refusing to evaluate
</screen>
</para></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>
</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:
<programlisting>
nixpkgs.config.allowUnfree = true;
nixpkgs.config.firefox.enableAdobeFlash = true; # for Firefox
nixpkgs.config.chromium.enableAdobeFlash = true; # for Chromium
</programlisting>
</para></listitem>
<listitem><para>The firewall is now enabled by default. If you dont
want this, you need to disable it explicitly:
</para>
</listitem>
<listitem>
<para>
The firewall is now enabled by default. If you dont want this, you need
to disable it explicitly:
<programlisting>
networking.firewall.enable = false;
</programlisting>
</para></listitem>
<listitem><para>The option
<option>boot.loader.grub.memtest86</option> has been renamed to
<option>boot.loader.grub.memtest86.enable</option>.</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
<option>services.mysql.package</option>.</para></listitem>
<listitem><para>Package variants are now differentiated by suffixing
the name, rather than the version. For instance,
<filename>sqlite-3.8.4.3-interactive</filename> is now called
<filename>sqlite-interactive-3.8.4.3</filename>. This ensures that
<literal>nix-env -i sqlite</literal> is unambiguous, and that
<literal>nix-env -u</literal> wont “upgrade”
<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
<command>nix-env</command>, 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 <filename>/etc/ca-bundle.crt</filename>
is gone. Programs should instead use the environment variable
<envar>OPENSSL_X509_CERT_FILE</envar> (which points to
<filename>/etc/ssl/certs/ca-bundle.crt</filename>).</para></listitem>
</itemizedlist>
</para>
</para>
</listitem>
<listitem>
<para>
The option <option>boot.loader.grub.memtest86</option> has been renamed to
<option>boot.loader.grub.memtest86.enable</option>.
</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 <option>services.mysql.package</option>.
</para>
</listitem>
<listitem>
<para>
Package variants are now differentiated by suffixing the name, rather than
the version. For instance, <filename>sqlite-3.8.4.3-interactive</filename>
is now called <filename>sqlite-interactive-3.8.4.3</filename>. This
ensures that <literal>nix-env -i sqlite</literal> is unambiguous, and that
<literal>nix-env -u</literal> wont “upgrade”
<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 <command>nix-env</command>, 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 <filename>/etc/ca-bundle.crt</filename> is gone. Programs
should instead use the environment variable
<envar>OPENSSL_X509_CERT_FILE</envar> (which points to
<filename>/etc/ssl/certs/ca-bundle.crt</filename>).
</para>
</listitem>
</itemizedlist>
</para>
</section>