summary refs log blame commit diff
path: root/nixos/doc/manual/release-notes/rl-unstable.xml
blob: cf67014a69dda62a394c454223eee4bedfe39d84 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                                                   












                                                                                          










                                                                                                   
                 
 



                                                               

                                                           
                                                             
               
















                                                                                               













                                                                                







                                                                                            
                                                                      


           








                                                                   

























































                                                                                           
 



               
<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 &lt;action&gt;
        --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 &quot;&lt;nixpkgs&gt;&quot; -qaP -A haskellPackages
</programlisting>
  <para>
    and packages can be installed with:
  </para>
  <programlisting>
nix-env -f &quot;&lt;nixpkgs&gt;&quot; -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>