160 lines
6.0 KiB
XML
160 lines
6.0 KiB
XML
<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="sec-release-unstable">
|
|
|
|
<title>Unstable revision</title>
|
|
|
|
<para>In addition to numerous new and upgraded packages, this release has the following highlights:
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The Haskell packages infrastructure has been re-designed from the ground up.
|
|
NixOS now distributes the latest version of every single package registered on
|
|
<link xlink:href="http://hackage.haskell.org/">Hackage</link>, i.e. well over
|
|
8000 Haskell packages. Further information and usage instructions for the
|
|
improved infrastructure are available at <link
|
|
xlink:href="https://nixos.org/wiki/Haskell">https://nixos.org/wiki/Haskell</link>.
|
|
Users migrating from an earlier release will find also find helpful information
|
|
below, in the list of backwards-incompatible changes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Users running an SSH server who worry about the quality of their
|
|
<literal>/etc/ssh/moduli</literal> file with respect to the <link
|
|
xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html">vulnerabilities
|
|
discovered in the Diffie-Hellman key exchange</link> can now replace OpenSSH's
|
|
default version with one they generated themselves using the new
|
|
<literal>services.openssh.moduliFile</literal> option.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
<para>Following new services were added since the last release:
|
|
|
|
<itemizedlist>
|
|
<listitem><para><literal>brltty</literal></para></listitem>
|
|
<listitem><para><literal>marathon</literal></para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>When upgrading from a previous release, please be aware of the
|
|
following incompatible changes:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>Steam now doesn't need root rights to work. Instead of using
|
|
<literal>*-steam-chrootenv</literal>, you should now just run <literal>steam</literal>.
|
|
<literal>steamChrootEnv</literal> package was renamed to <literal>steam</literal>,
|
|
and old <literal>steam</literal> package -- to <literal>steamOriginal</literal>.
|
|
</para></listitem>
|
|
|
|
<listitem><para>CMPlayer has been renamed to bomi upstream. Package <literal>cmplayer</literal>
|
|
was accordingly renamed to <literal>bomi</literal>
|
|
</para></listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
The default <literal>NIX_PATH</literal> for NixOS now includes
|
|
<literal>/nix/var/nix/profiles/per-user/root/channels</literal>, so it's
|
|
easy to add custom channels.
|
|
</para>
|
|
<para>
|
|
Moreover, whenever a <command>nixos-rebuild <action>
|
|
--upgrade</command> is issued, every channel that includes a file
|
|
called <filename>.update-on-nixos-rebuild</filename> will be upgraded
|
|
alongside of the <literal>nixos</literal> channel.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
The CUPS printing service has been updated to version <literal>2.0.2</literal>.
|
|
Furthermore its systemd service has been renamed to <literal>cups.service</literal>.
|
|
</para>
|
|
<para>
|
|
Local printers are no longer shared or advertised by default. This behavior
|
|
can be changed by enabling <literal>services.printing.defaultShared</literal>
|
|
or <literal>services.printing.browsing</literal> respectively.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
HPLIP (printer, scanner, and fax drivers for HP devices) has
|
|
been updated to version <literal>3.15.4</literal>. This release
|
|
adds support for the <literal>arm6l-linux</literal> and
|
|
<literal>arm7l-linux</literal> platforms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Haskell packages can no longer be found by name, i.e. the commands
|
|
<literal>nix-env -qa cabal-install</literal> and <literal>nix-env -i
|
|
ghc</literal> will fail, even though we <emphasis>do</emphasis> ship
|
|
both <literal>cabal-install</literal> and <literal>ghc</literal>.
|
|
The reason for this inconvenience is the sheer size of the Haskell
|
|
package set: name-based lookups such as these would become much
|
|
slower than they are today if we'd add the entire Hackage database
|
|
into the top level attribute set. Instead, the list of Haskell
|
|
packages can be displayed by
|
|
</para>
|
|
<programlisting>
|
|
nix-env -f "<nixpkgs>" -qaP -A haskellPackages
|
|
</programlisting>
|
|
<para>
|
|
and packages can be installed with:
|
|
</para>
|
|
<programlisting>
|
|
nix-env -f "<nixpkgs>" -iA haskellPackages.cabal-install
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Previous versions of NixOS come with a feature called
|
|
<literal>ghc-wrapper</literal>, a small wrapper script that allows
|
|
GHC to transparently pick up on libraries installed in the user's
|
|
profile. This feature has been deprecated;
|
|
<literal>ghc-wrapper</literal> was removed from the distribution.
|
|
The proper way to register Haskell libraries with the compiler now
|
|
is the <literal>haskellPackages.ghcWithPackages</literal>
|
|
function.
|
|
<link xlink:href="https://nixos.org/wiki/Haskell">https://nixos.org/wiki/Haskell</link>
|
|
provides much information about this subject.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
All Haskell builds that have been generated with version 1.x of
|
|
the <literal>cabal2nix</literal> utility are now invalid and need
|
|
to be re-generated with a current version of
|
|
<literal>cabal2nix</literal> to function. The most recent version
|
|
of this tool can be installed by running
|
|
<literal>nix-env -i cabal2nix</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
The <literal>haskellPackages</literal> set in Nixpkgs used to have a
|
|
function attribute called <literal>extension</literal> that users
|
|
could override in their <literal>~/.nixpkgs/config.nix</literal>
|
|
files to configure additional attributes, etc. That function still
|
|
exists, but it's now called <literal>overrides</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
</chapter>
|