2015-07-22 15:17:06 +01:00
|
|
|
<section 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"
|
2015-08-27 10:50:03 +01:00
|
|
|
xml:id="sec-release-15.09">
|
2018-05-02 00:57:09 +01:00
|
|
|
<title>Release 15.09 (“Dingo”, 2015/09/30)</title>
|
2015-02-05 22:41:58 +00:00
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
In addition to numerous new and upgraded packages, this release has the
|
|
|
|
following highlights:
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
<itemizedlist>
|
2015-09-21 10:17:04 +01:00
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
The <link xlink:href="http://haskell.org/">Haskell</link> packages
|
|
|
|
infrastructure has been re-designed from the ground up ("Haskell
|
|
|
|
NG"). NixOS now distributes the latest version of every single package
|
|
|
|
registered on
|
|
|
|
<link
|
|
|
|
xlink:href="http://hackage.haskell.org/">Hackage</link> -- well
|
|
|
|
in excess of 8,000 Haskell packages. Detailed instructions on how to use
|
|
|
|
that infrastructure can be found in the
|
|
|
|
<link
|
2015-09-30 15:15:36 +01:00
|
|
|
xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
|
2018-05-02 00:57:09 +01:00
|
|
|
Guide to the Haskell Infrastructure</link>. Users migrating from an earlier
|
|
|
|
release may find helpful information below, in the list of
|
|
|
|
backwards-incompatible changes. Furthermore, we distribute 51(!) additional
|
|
|
|
Haskell package sets that provide every single
|
|
|
|
<link
|
2015-09-30 15:15:36 +01:00
|
|
|
xlink:href="http://www.stackage.org/">LTS Haskell</link> release
|
2018-05-02 00:57:09 +01:00
|
|
|
since version 0.0 as well as the most recent
|
|
|
|
<link
|
2015-09-30 15:15:36 +01:00
|
|
|
xlink:href="http://www.stackage.org/">Stackage Nightly</link>
|
2018-05-02 00:57:09 +01:00
|
|
|
snapshot. The announcement
|
|
|
|
<link
|
2017-07-18 12:54:36 +01:00
|
|
|
xlink:href="https://nixos.org/nix-dev/2015-September/018138.html">"Full
|
2018-05-02 00:57:09 +01:00
|
|
|
Stackage Support in Nixpkgs"</link> gives additional details.
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
Nix has been updated to version 1.10, which among other improvements
|
|
|
|
enables cryptographic signatures on binary caches for improved security.
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
You can now keep your NixOS system up to date automatically by setting
|
2015-09-21 10:17:04 +01:00
|
|
|
<programlisting>
|
|
|
|
system.autoUpgrade.enable = true;
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
This will cause the system to periodically check for updates in your
|
|
|
|
current channel and run <command>nixos-rebuild</command>.
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
This release is based on Glibc 2.21, GCC 4.9 and Linux 3.18.
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
</listitem>
|
2015-09-30 18:30:07 +01:00
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
GNOME has been upgraded to 3.16.
|
|
|
|
</para>
|
2015-09-30 18:30:07 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
Xfce has been upgraded to 4.12.
|
|
|
|
</para>
|
2015-09-30 18:30:07 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
KDE 5 has been upgraded to KDE Frameworks 5.10, Plasma 5.3.2 and
|
|
|
|
Applications 15.04.3. KDE 4 has been updated to kdelibs-4.14.10.
|
|
|
|
</para>
|
2015-09-30 18:30:07 +01:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
E19 has been upgraded to 0.16.8.15.
|
|
|
|
</para>
|
2015-09-30 18:30:07 +01:00
|
|
|
</listitem>
|
2018-05-02 00:57:09 +01:00
|
|
|
</itemizedlist>
|
2015-09-30 18:30:07 +01:00
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
The following new services were added since the last release:
|
2015-09-30 18:00:33 +01:00
|
|
|
<itemizedlist>
|
2018-05-02 00:57:09 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/mail/exim.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/apache-kafka.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/canto-daemon.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/confd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/devmon.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/gitit.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/ihaskell.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/mbpfan.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/mediatomb.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/mwlib.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/parsoid.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/plex.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/ripple-rest.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/ripple-data-api.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/subsonic.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/misc/sundtek.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/monitoring/cadvisor.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/monitoring/das_watchdog.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/monitoring/grafana.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/monitoring/riemann-tools.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/monitoring/teamviewer.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/network-filesystems/u9fs.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/aiccu.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/asterisk.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/bird.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/charybdis.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/docker-registry-server.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/fan.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/firefox/sync-server.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/gateone.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/heyefi.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/i2p.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/lambdabot.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/mstpd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/nix-serve.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/nylon.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/racoon.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/skydns.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/shout.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/softether.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/sslh.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/tinc.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/tlsdated.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/tox-bootstrapd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/tvheadend.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/networking/zerotierone.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/scheduling/marathon.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/security/fprintd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/security/hologram.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/security/munge.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/system/cloud-init.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/web-servers/shellinabox.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/web-servers/uwsgi.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/x11/unclutter.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>services/x11/display-managers/sddm.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/coredump.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/loader/loader.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/loader/generic-extlinux-compatible</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/networkd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/resolved.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>system/boot/timesyncd.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>tasks/filesystems/exfat.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>tasks/filesystems/ntfs.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>tasks/filesystems/vboxsf.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>virtualisation/virtualbox-host.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>virtualisation/vmware-guest.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<literal>virtualisation/xen-dom0.nix</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2015-09-30 18:00:33 +01:00
|
|
|
</itemizedlist>
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
2015-07-27 19:13:08 +01:00
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
When upgrading from a previous release, please be aware of the following
|
|
|
|
incompatible changes:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<command>sshd</command> no longer supports DSA and ECDSA host keys by
|
|
|
|
default. If you have existing systems with such host keys and want to
|
|
|
|
continue to use them, please set
|
2015-07-27 19:13:08 +01:00
|
|
|
<programlisting>
|
2018-04-06 02:19:06 +01:00
|
|
|
system.nixos.stateVersion = "14.12";
|
2015-07-27 19:13:08 +01:00
|
|
|
</programlisting>
|
2018-06-01 02:03:51 +01:00
|
|
|
The new option <option>system.nixos.stateVersion</option> ensures that
|
|
|
|
certain configuration changes that could break existing systems (such as
|
|
|
|
the <command>sshd</command> host key setting) will maintain compatibility
|
|
|
|
with the specified NixOS release. NixOps sets the state version of
|
|
|
|
existing deployments automatically.
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<command>cron</command> is no longer enabled by default, unless you have a
|
|
|
|
non-empty <option>services.cron.systemCronJobs</option>. To force
|
|
|
|
<command>cron</command> to be enabled, set <option>services.cron.enable =
|
|
|
|
true</option>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Nix now requires binary caches to be cryptographically signed. If you have
|
|
|
|
unsigned binary caches that you want to continue to use, you should set
|
|
|
|
<option>nix.requireSignedBinaryCaches = false</option>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<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>
|
|
|
|
Atom Shell has been renamed to Electron upstream. Package
|
|
|
|
<literal>atom-shell</literal> was accordingly renamed to
|
|
|
|
<literal>electron</literal>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Elm is not released on Hackage anymore. You should now use
|
|
|
|
<literal>elmPackages.elm</literal> which contains the latest Elm platform.
|
|
|
|
</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
|
|
|
|
<option>services.printing.defaultShared</option> or
|
|
|
|
<option>services.printing.browsing</option> respectively.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The VirtualBox host and guest options have been named more consistently.
|
|
|
|
They can now found in <option>virtualisation.virtualbox.host.*</option>
|
|
|
|
instead of <option>services.virtualboxHost.*</option> and
|
|
|
|
<option>virtualisation.virtualbox.guest.*</option> instead of
|
|
|
|
<option>services.virtualboxGuest.*</option>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Also, there now is support for the <literal>vboxsf</literal> file system
|
|
|
|
using the <option>fileSystems</option> configuration attribute. An example
|
|
|
|
of how this can be used in a configuration:
|
2015-09-26 10:02:05 +01:00
|
|
|
<programlisting>
|
|
|
|
fileSystems."/shiny" = {
|
|
|
|
device = "myshinysharedfolder";
|
|
|
|
fsType = "vboxsf";
|
|
|
|
};
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
"<literal>nix-env -qa</literal>" no longer discovers Haskell
|
|
|
|
packages by name. The only packages visible in the global scope are
|
|
|
|
<literal>ghc</literal>, <literal>cabal-install</literal>, and
|
|
|
|
<literal>stack</literal>, but all other packages are hidden. The reason
|
|
|
|
for this inconvenience is the sheer size of the Haskell package set.
|
|
|
|
Name-based lookups are expensive, and most <literal>nix-env -qa</literal>
|
|
|
|
operations would become much slower if we'd add the entire Hackage
|
|
|
|
database into the top level attribute set. Instead, the list of Haskell
|
|
|
|
packages can be displayed by running:
|
|
|
|
</para>
|
|
|
|
<programlisting>
|
2015-06-01 14:19:53 +01:00
|
|
|
nix-env -f "<nixpkgs>" -qaP -A haskellPackages
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
Executable programs written in Haskell can be installed with:
|
|
|
|
</para>
|
|
|
|
<programlisting>
|
2015-09-30 15:15:36 +01:00
|
|
|
nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc
|
2015-06-01 14:19:53 +01:00
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
Installing Haskell <emphasis>libraries</emphasis> this way, however, is no
|
|
|
|
longer supported. See the next item for more details.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Previous versions of NixOS came with a feature called
|
|
|
|
<literal>ghc-wrapper</literal>, a small script that allowed 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. The
|
|
|
|
<link
|
2015-09-30 15:15:36 +01:00
|
|
|
xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
|
2018-05-02 00:57:09 +01:00
|
|
|
Guide to the Haskell Infrastructure</link> provides more 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>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The OpenBLAS library has been updated to version
|
|
|
|
<literal>0.2.14</literal>. Support for the
|
|
|
|
<literal>x86_64-darwin</literal> platform was added. Dynamic architecture
|
|
|
|
detection was enabled; OpenBLAS now selects microarchitecture-optimized
|
|
|
|
routines at runtime, so optimal performance is achieved without the need
|
|
|
|
to rebuild OpenBLAS locally. OpenBLAS has replaced ATLAS in most packages
|
|
|
|
which use an optimized BLAS or LAPACK implementation.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The <literal>phpfpm</literal> is now using the default PHP version
|
|
|
|
(<literal>pkgs.php</literal>) instead of PHP 5.4
|
|
|
|
(<literal>pkgs.php54</literal>).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The <literal>locate</literal> service no longer indexes the Nix store by
|
|
|
|
default, preventing packages with potentially numerous versions from
|
|
|
|
cluttering the output. Indexing the store can be activated by setting
|
|
|
|
<option>services.locate.includeStore = true</option>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The Nix expression search path (<envar>NIX_PATH</envar>) no longer
|
|
|
|
contains <filename>/etc/nixos/nixpkgs</filename> by default. You can
|
|
|
|
override <envar>NIX_PATH</envar> by setting <option>nix.nixPath</option>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Python 2.6 has been marked as broken (as it no longer receives security
|
|
|
|
updates from upstream).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Any use of module arguments such as <varname>pkgs</varname> to access
|
|
|
|
library functions, or to define <literal>imports</literal> attributes will
|
|
|
|
now lead to an infinite loop at the time of the evaluation.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
In case of an infinite loop, use the <command>--show-trace</command>
|
|
|
|
command line argument and read the line just above the error message.
|
2015-05-18 19:59:21 +01:00
|
|
|
<screen>
|
|
|
|
$ nixos-rebuild build --show-trace
|
|
|
|
…
|
|
|
|
while evaluating the module argument `pkgs' in "/etc/nixos/my-module.nix":
|
|
|
|
infinite recursion encountered
|
|
|
|
</screen>
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Any use of <literal>pkgs.lib</literal>, should be replaced by
|
|
|
|
<varname>lib</varname>, after adding it as argument of the module. The
|
|
|
|
following module
|
2015-05-18 19:59:21 +01:00
|
|
|
<programlisting>
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
with pkgs.lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
options = {
|
|
|
|
foo = mkOption { … };
|
|
|
|
};
|
|
|
|
config = mkIf config.foo { … };
|
|
|
|
}
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
should be modified to look like:
|
2015-05-18 19:59:21 +01:00
|
|
|
<programlisting>
|
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
options = {
|
|
|
|
foo = mkOption { <replaceable>option declaration</replaceable> };
|
|
|
|
};
|
|
|
|
config = mkIf config.foo { <replaceable>option definition</replaceable> };
|
|
|
|
}
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
When <varname>pkgs</varname> is used to download other projects to import
|
|
|
|
their modules, and only in such cases, it should be replaced by
|
|
|
|
<literal>(import <nixpkgs> {})</literal>. The following module
|
2015-05-18 19:59:21 +01:00
|
|
|
<programlisting>
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
myProject = pkgs.fetchurl {
|
|
|
|
src = <replaceable>url</replaceable>;
|
|
|
|
sha256 = <replaceable>hash</replaceable>;
|
|
|
|
};
|
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [ "${myProject}/module.nix" ];
|
|
|
|
}
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
should be modified to look like:
|
2015-05-18 19:59:21 +01:00
|
|
|
<programlisting>
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
myProject = (import <nixpkgs> {}).fetchurl {
|
|
|
|
src = <replaceable>url</replaceable>;
|
|
|
|
sha256 = <replaceable>hash</replaceable>;
|
|
|
|
};
|
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [ "${myProject}/module.nix" ];
|
|
|
|
}
|
|
|
|
</programlisting>
|
2018-05-02 00:57:09 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
2015-09-21 10:17:04 +01:00
|
|
|
|
2018-05-02 00:57:09 +01:00
|
|
|
<para>
|
|
|
|
Other notable improvements:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
2015-09-21 10:17:04 +01:00
|
|
|
<para>
|
2018-05-02 00:57:09 +01:00
|
|
|
The nixos and nixpkgs channels were unified, so one
|
|
|
|
<emphasis>can</emphasis> use <literal>nix-env -iA nixos.bash</literal>
|
|
|
|
instead of <literal>nix-env -iA nixos.pkgs.bash</literal>. See
|
|
|
|
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/2cd7c1f198">the
|
|
|
|
commit</link> for details.
|
|
|
|
</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
|
2015-09-21 10:17:04 +01:00
|
|
|
xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html">vulnerabilities
|
2018-05-02 00:57:09 +01:00
|
|
|
discovered in the Diffie-Hellman key exchange</link> can now replace
|
|
|
|
OpenSSH's default version with one they generated themselves using the new
|
|
|
|
<option>services.openssh.moduliFile</option> option.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A newly packaged TeX Live 2015 is provided in
|
|
|
|
<literal>pkgs.texlive</literal>, split into 6500 nix packages. For basic
|
|
|
|
user documentation see
|
|
|
|
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-15.09/pkgs/tools/typesetting/tex/texlive/default.nix#L1"
|
|
|
|
>the
|
|
|
|
source</link>. Beware of
|
|
|
|
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/9757"
|
|
|
|
>an
|
|
|
|
issue</link> when installing a too large package set. The plan is to
|
|
|
|
deprecate and maybe delete the original TeX packages until the next
|
|
|
|
release.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<option>buildEnv.env</option> on all Python interpreters is now available
|
|
|
|
for nix-shell interoperability.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
2015-07-22 15:17:06 +01:00
|
|
|
</section>
|