You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
320 lines
13 KiB
320 lines
13 KiB
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-22.11">
|
|
<title>Release 22.11 (“Raccoon”, 2022.11/??)</title>
|
|
<para>
|
|
Support is planned until the end of June 2023, handing over to
|
|
23.05.
|
|
</para>
|
|
<section xml:id="sec-release-22.11-highlights">
|
|
<title>Highlights</title>
|
|
<para>
|
|
In addition to numerous new and upgraded packages, this release
|
|
has the following highlights:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
During cross-compilation, tests are now executed if the test
|
|
suite can be executed by the build platform. This is the case
|
|
when doing “native” cross-compilation where the build and host
|
|
platforms are largely the same, but the nixpkgs’ cross
|
|
compilation infrastructure is used, e.g.
|
|
<literal>pkgsStatic</literal> and <literal>pkgsLLVM</literal>.
|
|
Another possibility is that the build platform is a superset
|
|
of the host platform, e.g. when cross-compiling from
|
|
<literal>x86_64-unknown-linux</literal> to
|
|
<literal>i686-unknown-linux</literal>. The predicate gating
|
|
test suite execution is the newly added
|
|
<literal>canExecute</literal> predicate: You can e.g. check if
|
|
<literal>stdenv.buildPlatform</literal> can execute binaries
|
|
built for <literal>stdenv.hostPlatform</literal> (i.e.
|
|
produced by <literal>stdenv.cc</literal>) by evaluating
|
|
<literal>stdenv.buildPlatform.canExecute stdenv.hostPlatform</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <literal>nixpkgs.hostPlatform</literal> and
|
|
<literal>nixpkgs.buildPlatform</literal> options have been
|
|
added. These cover and override the
|
|
<literal>nixpkgs.{system,localSystem,crossSystem}</literal>
|
|
options.
|
|
</para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
<literal>hostPlatform</literal> is the platform or
|
|
<quote><literal>system</literal></quote> string of the
|
|
NixOS system described by the configuration.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>buildPlatform</literal> is the platform that is
|
|
responsible for building the NixOS configuration. It
|
|
defaults to the <literal>hostPlatform</literal>, for a
|
|
non-cross build configuration. To cross compile, set
|
|
<literal>buildPlatform</literal> to a different value.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>
|
|
The new options convey the same information, but with fewer
|
|
options, and following the Nixpkgs terminology.
|
|
</para>
|
|
<para>
|
|
The existing options
|
|
<literal>nixpkgs.{system,localSystem,crossSystem}</literal>
|
|
have not been formally deprecated, to allow for evaluation of
|
|
the change and to allow for a transition period so that in
|
|
time the ecosystem can switch without breaking compatibility
|
|
with any supported NixOS release.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>nixos-generate-config</literal> now generates
|
|
configurations that can be built in pure mode. This is
|
|
achieved by setting the new
|
|
<literal>nixpkgs.hostPlatform</literal> option.
|
|
</para>
|
|
<para>
|
|
You may have to unset the <literal>system</literal> parameter
|
|
in <literal>lib.nixosSystem</literal>, or similarly remove
|
|
definitions of the
|
|
<literal>nixpkgs.{system,localSystem,crossSystem}</literal>
|
|
options.
|
|
</para>
|
|
<para>
|
|
Alternatively, you can remove the
|
|
<literal>hostPlatform</literal> line and use NixOS like you
|
|
would in NixOS 22.05 and earlier.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
PHP now defaults to PHP 8.1, updated from 8.0.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>hardware.nvidia</literal> has a new option
|
|
<literal>open</literal> that can be used to opt in the
|
|
opensource version of NVIDIA kernel driver. Note that the
|
|
driver’s support for GeForce and Workstation GPUs is still
|
|
alpha quality, see
|
|
<link xlink:href="https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/">NVIDIA
|
|
Releases Open-Source GPU Kernel Modules</link> for the
|
|
official announcement.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
<section xml:id="sec-release-22.11-new-services">
|
|
<title>New Services</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://github.com/jollheef/appvm">appvm</link>,
|
|
Nix based app VMs. Available as
|
|
<link xlink:href="options.html#opt-virtualisation.appvm.enable">virtualisation.appvm</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://dragonflydb.io/">dragonflydb</link>,
|
|
a modern replacement for Redis and Memcached. Available as
|
|
<link linkend="opt-services.dragonflydb.enable">services.dragonflydb</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://github.com/leetronics/infnoise">infnoise</link>,
|
|
a hardware True Random Number Generator dongle. Available as
|
|
<link xlink:href="options.html#opt-services.infnoise.enable">services.infnoise</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://github.com/aiberia/persistent-evdev">persistent-evdev</link>,
|
|
a daemon to add virtual proxy devices that mirror a physical
|
|
input device but persist even if the underlying hardware is
|
|
hot-plugged. Available as
|
|
<link linkend="opt-services.persistent-evdev.enable">services.persistent-evdev</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://schleuder.org/">schleuder</link>, a
|
|
mailing list manager with PGP support. Enable using
|
|
<link linkend="opt-services.schleuder.enable">services.schleuder</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<link xlink:href="https://www.expressvpn.com">expressvpn</link>,
|
|
the CLI client for ExpressVPN. Available as
|
|
<link linkend="opt-services.expressvpn.enable">services.expressvpn</link>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
<section xml:id="sec-release-22.11-incompatibilities">
|
|
<title>Backward Incompatibilities</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The <literal>isCompatible</literal> predicate checking CPU
|
|
compatibility is no longer exposed by the platform sets
|
|
generated using <literal>lib.systems.elaborate</literal>. In
|
|
most cases you will want to use the new
|
|
<literal>canExecute</literal> predicate instead which also
|
|
considers the kernel / syscall interface. It is briefly
|
|
described in the release’s
|
|
<link linkend="sec-release-22.11-highlights">highlights
|
|
section</link>.
|
|
<literal>lib.systems.parse.isCompatible</literal> still
|
|
exists, but has changed semantically: Architectures with
|
|
differing endianness modes are <emphasis>no longer considered
|
|
compatible</emphasis>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>ngrok</literal> has been upgraded from 2.3.40 to
|
|
3.0.4. Please see
|
|
<link xlink:href="https://ngrok.com/docs/guides/upgrade-v2-v3">the
|
|
upgrade guide</link> and
|
|
<link xlink:href="https://ngrok.com/docs/ngrok-agent/changelog">changelog</link>.
|
|
Notably, breaking changes are that the config file format has
|
|
changed and support for single hypen arguments was dropped.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>i18n.supportedLocales</literal> is now by default
|
|
only generated with the locales set in
|
|
<literal>i18n.defaultLocale</literal> and
|
|
<literal>i18n.extraLocaleSettings</literal>. This got
|
|
partially copied over from the minimal profile and reduces the
|
|
final system size by up to 200MB. If you require all locales
|
|
installed set the option to
|
|
<literal>[ "all" ]</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <literal>isPowerPC</literal> predicate, found on
|
|
<literal>platform</literal> attrsets
|
|
(<literal>hostPlatform</literal>,
|
|
<literal>buildPlatform</literal>,
|
|
<literal>targetPlatform</literal>, etc) has been removed in
|
|
order to reduce confusion. The predicate was was defined such
|
|
that it matches only the 32-bit big-endian members of the
|
|
POWER/PowerPC family, despite having a name which would imply
|
|
a broader set of systems. If you were using this predicate,
|
|
you can replace <literal>foo.isPowerPC</literal> with
|
|
<literal>(with foo; isPower && is32bit && isBigEndian)</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>bsp-layout</literal> no longer uses the command
|
|
<literal>cycle</literal> to switch to other window layouts, as
|
|
it got replaced by the commands <literal>previous</literal>
|
|
and <literal>next</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The Barco ClickShare driver/client package
|
|
<literal>pkgs.clickshare-csc1</literal> and the option
|
|
<literal>programs.clickshare-csc1.enable</literal> have been
|
|
removed, as it requires <literal>qt4</literal>, which reached
|
|
its end-of-life 2015 and will no longer be supported by
|
|
nixpkgs.
|
|
<link xlink:href="https://www.barco.com/de/support/knowledge-base/4380-can-i-use-linux-os-with-clickshare-base-units">According
|
|
to Barco</link> many of their base unit models can be used
|
|
with Google Chrome and the Google Cast extension.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
PHP 7.4 is no longer supported due to upstream not supporting
|
|
this version for the entire lifecycle of the 22.11 release.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
riak package removed along with
|
|
<literal>services.riak</literal> module, due to lack of
|
|
maintainer to update the package.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
(Neo)Vim can not be configured with
|
|
<literal>configure.pathogen</literal> anymore to reduce
|
|
maintainance burden. Use <literal>configure.packages</literal>
|
|
instead.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>k3s</literal> no longer supports docker as runtime
|
|
due to upstream dropping support.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
<section xml:id="sec-release-22.11-notable-changes">
|
|
<title>Other Notable Changes</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The <literal>xplr</literal> package has been updated from
|
|
0.18.0 to 0.19.0, which brings some breaking changes. See the
|
|
<link xlink:href="https://github.com/sayanarijit/xplr/releases/tag/v0.19.0">upstream
|
|
release notes</link> for more details.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
A new module was added for the Saleae Logic device family,
|
|
providing the options
|
|
<literal>hardware.saleae-logic.enable</literal> and
|
|
<literal>hardware.saleae-logic.package</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Matrix Synapse now requires entries in the
|
|
<literal>state_group_edges</literal> table to be unique, in
|
|
order to prevent accidentally introducing duplicate
|
|
information (for example, because a database backup was
|
|
restored multiple times). If your Synapse database already has
|
|
duplicate rows in this table, this could fail with an error
|
|
and require manual remediation.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2.
|
|
It is now the upstream version from https://www.memtest.org/,
|
|
as coreboot’s fork is no longer available.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
There is a new module for the <literal>thunar</literal>
|
|
program (the Xfce file manager), which depends on the
|
|
<literal>xfconf</literal> dbus service, and also has a dbus
|
|
service and a systemd unit. The option
|
|
<literal>services.xserver.desktopManager.xfce.thunarPlugins</literal>
|
|
has been renamed to
|
|
<literal>programs.thunar.plugins</literal>, and in a future
|
|
release it may be removed.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
</section>
|
|
|