diff options
Diffstat (limited to 'nixos/doc/manual/from_md/release-notes/rl-1509.section.xml')
-rw-r--r-- | nixos/doc/manual/from_md/release-notes/rl-1509.section.xml | 776 |
1 files changed, 776 insertions, 0 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-1509.section.xml b/nixos/doc/manual/from_md/release-notes/rl-1509.section.xml new file mode 100644 index 00000000000..68d2ab389e8 --- /dev/null +++ b/nixos/doc/manual/from_md/release-notes/rl-1509.section.xml @@ -0,0 +1,776 @@ +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-15.09"> + <title>Release 15.09 (<quote>Dingo</quote>, 2015/09/30)</title> + <para> + In addition to numerous new and upgraded packages, this release has + the following highlights: + </para> + <itemizedlist> + <listitem> + <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 xlink:href="https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's + 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 xlink:href="http://www.stackage.org/">LTS + Haskell</link> release since version 0.0 as well as the most + recent <link xlink:href="http://www.stackage.org/">Stackage + Nightly</link> snapshot. The announcement + <link xlink:href="https://nixos.org/nix-dev/2015-September/018138.html">"Full + Stackage Support in Nixpkgs"</link> gives additional + details. + </para> + </listitem> + <listitem> + <para> + Nix has been updated to version 1.10, which among other + improvements enables cryptographic signatures on binary caches + for improved security. + </para> + </listitem> + <listitem> + <para> + You can now keep your NixOS system up to date automatically by + setting + </para> + </listitem> + </itemizedlist> + <programlisting language="bash"> +{ + system.autoUpgrade.enable = true; +} +</programlisting> + <para> + This will cause the system to periodically check for updates in your + current channel and run <literal>nixos-rebuild</literal>. + </para> + <itemizedlist> + <listitem> + <para> + This release is based on Glibc 2.21, GCC 4.9 and Linux 3.18. + </para> + </listitem> + <listitem> + <para> + GNOME has been upgraded to 3.16. + </para> + </listitem> + <listitem> + <para> + Xfce has been upgraded to 4.12. + </para> + </listitem> + <listitem> + <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> + </listitem> + <listitem> + <para> + E19 has been upgraded to 0.16.8.15. + </para> + </listitem> + </itemizedlist> + <para> + The following new services were added since the last release: + </para> + <itemizedlist> + <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> + </itemizedlist> + <para> + When upgrading from a previous release, please be aware of the + following incompatible changes: + </para> + <itemizedlist spacing="compact"> + <listitem> + <para> + <literal>sshd</literal> 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 + </para> + </listitem> + </itemizedlist> + <programlisting language="bash"> +{ + system.stateVersion = "14.12"; +} +</programlisting> + <para> + The new option <literal>system.stateVersion</literal> ensures that + certain configuration changes that could break existing systems + (such as the <literal>sshd</literal> host key setting) will maintain + compatibility with the specified NixOS release. NixOps sets the + state version of existing deployments automatically. + </para> + <itemizedlist> + <listitem> + <para> + <literal>cron</literal> is no longer enabled by default, unless + you have a non-empty + <literal>services.cron.systemCronJobs</literal>. To force + <literal>cron</literal> to be enabled, set + <literal>services.cron.enable = true</literal>. + </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 + <literal>nix.requireSignedBinaryCaches = false</literal>. + </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 + <literal>services.printing.defaultShared</literal> or + <literal>services.printing.browsing</literal> respectively. + </para> + </listitem> + <listitem> + <para> + The VirtualBox host and guest options have been named more + consistently. They can now found in + <literal>virtualisation.virtualbox.host.*</literal> instead of + <literal>services.virtualboxHost.*</literal> and + <literal>virtualisation.virtualbox.guest.*</literal> instead of + <literal>services.virtualboxGuest.*</literal>. + </para> + <para> + Also, there now is support for the <literal>vboxsf</literal> + file system using the <literal>fileSystems</literal> + configuration attribute. An example of how this can be used in a + configuration: + </para> + </listitem> + </itemizedlist> + <programlisting language="bash"> +{ + fileSystems."/shiny" = { + device = "myshinysharedfolder"; + fsType = "vboxsf"; + }; +} +</programlisting> + <itemizedlist spacing="compact"> + <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> + </listitem> + </itemizedlist> + <programlisting> +nix-env -f "<nixpkgs>" -qaP -A haskellPackages +</programlisting> + <para> + Executable programs written in Haskell can be installed with: + </para> + <programlisting> +nix-env -f "<nixpkgs>" -iA haskellPackages.pandoc +</programlisting> + <para> + Installing Haskell <emphasis>libraries</emphasis> this way, however, + is no longer supported. See the next item for more details. + </para> + <itemizedlist> + <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 xlink:href="https://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's + 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 + <literal>services.locate.includeStore = true</literal>. + </para> + </listitem> + <listitem> + <para> + The Nix expression search path (<literal>NIX_PATH</literal>) no + longer contains <literal>/etc/nixos/nixpkgs</literal> by + default. You can override <literal>NIX_PATH</literal> by setting + <literal>nix.nixPath</literal>. + </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 <literal>pkgs</literal> 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 + <literal>--show-trace</literal> command line argument and read + the line just above the error message. + </para> + <programlisting> +$ nixos-rebuild build --show-trace +… +while evaluating the module argument `pkgs' in "/etc/nixos/my-module.nix": +infinite recursion encountered +</programlisting> + <para> + Any use of <literal>pkgs.lib</literal>, should be replaced by + <literal>lib</literal>, after adding it as argument of the + module. The following module + </para> + <programlisting language="bash"> +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + options = { + foo = mkOption { … }; + }; + config = mkIf config.foo { … }; +} +</programlisting> + <para> + should be modified to look like: + </para> + <programlisting language="bash"> +{ config, pkgs, lib, ... }: + +with lib; + +{ + options = { + foo = mkOption { option declaration }; + }; + config = mkIf config.foo { option definition }; +} +</programlisting> + <para> + When <literal>pkgs</literal> 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 + </para> + <programlisting language="bash"> +{ config, pkgs, ... }: + +let + myProject = pkgs.fetchurl { + src = url; + sha256 = hash; + }; +in + +{ + imports = [ "${myProject}/module.nix" ]; +} +</programlisting> + <para> + should be modified to look like: + </para> + <programlisting language="bash"> +{ config, pkgs, ... }: + +let + myProject = (import <nixpkgs> {}).fetchurl { + src = url; + sha256 = hash; + }; +in + +{ + imports = [ "${myProject}/module.nix" ]; +} +</programlisting> + </listitem> + </itemizedlist> + <para> + Other notable improvements: + </para> + <itemizedlist> + <listitem> + <para> + 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 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> + <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> + <literal>buildEnv.env</literal> on all Python interpreters is + now available for nix-shell interoperability. + </para> + </listitem> + </itemizedlist> +</section> |