4.6 KiB
Release 24.05 (“Uakari”, 2024.05/??)
Support is planned until the end of December 2024, handing over to 24.11.
Highlights
In addition to numerous new and upgraded packages, this release has the following highlights:
screen
's module has been cleaned, and will now require you to setprograms.screen.enable
in order to populatescreenrc
and add the program to the environment.
New Services
-
Guix, a functional package manager inspired by Nix. Available as services.guix.
-
maubot, a plugin-based Matrix bot framework. Available as services.maubot.
-
Anki Sync Server, the official sync server built into recent versions of Anki. Available as services.anki-sync-server. The pre-existing services.ankisyncd has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
-
Clevis, a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as boot.initrd.clevis.enable.
Backward Incompatibilities
-
The
power.ups
module now generatesupsd.conf
,upsd.users
andupsmon.conf
automatically from a set of new configuration options. This breaks compatibility with existingpower.ups
setups where these files were created manually. Back up these files before upgrading NixOS. -
mkosi
was updated to v19. Parts of the user interface have changed. Consult the release notes for a list of changes.
Other Notable Changes
-
addDriverRunpath
has been added to facilitate the deprecation of the oldaddOpenGLRunpath
setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration. -
Cinnamon has been updated to 6.0. Please beware that the Wayland session is still experimental in this release.
-
services.postgresql.extraPlugins
changed its type from just a list of packages to also a function that returns such a list. For example a config line likeservices.postgresql.extraPlugins = with pkgs.postgresql_11.pkgs; [ postgis ];
is recommended to be changed toservices.postgresql.extraPlugins = ps: with ps; [ postgis ];
; -
Programs written in Nim are built with libraries selected by lockfiles. The
nimPackages
andnim2Packages
sets have been removed. See https://nixos.org/manual/nixpkgs/unstable#nim for more information. -
libass
now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues withmpv
,ffmpeg
, etc. -
The Yama LSM is now enabled by default in the kernel, which prevents ptracing non-child processes. This means you will not be able to attach gdb to an existing process, but will need to start that process from gdb (so it is a child). Or you can set
boot.kernel.sysctl."kernel.yama.ptrace_scope"
to 0. -
Gitea 1.21 upgrade has several breaking changes, including:
- Custom themes and other assets that were previously stored in
custom/public/*
now belong incustom/public/assets/*
- New instances of Gitea using MySQL now ignore the
[database].CHARSET
config option and always use theutf8mb4
charset, existing instances should migrate via thegitea doctor convert
CLI command.
- Custom themes and other assets that were previously stored in
-
The
hardware.pulseaudio
module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes issue 114399. -
QtMultimedia has changed its default backend to
QT_MEDIA_BACKEND=ffmpeg
(previouslygstreamer
on Linux ordarwin
on MacOS). The previous native backends remain available but are now minimally maintained. Refer to upstream documentation for further details about each platform.