9.7 KiB
Release 25.05 (“Warbler”, 2025.05/??)
Highlights
- The default PHP version has been updated to 8.3.
New Modules
-
Bazecor, the graphical configurator for Dygma Products.
-
Kimai, a web-based multi-user time-tracking application. Available as services.kimai.
-
Omnom, a webpage bookmarking and snapshotting service. Available as services.omnom.
-
Traccar, a modern GPS Tracking Platform. Available as services.traccar.
-
crab-hole, a cross platform Pi-hole clone written in Rust using hickory-dns/trust-dns. Available as services.crab-hole.
-
Amazon CloudWatch Agent, the official telemetry collector for AWS CloudWatch and AWS X-Ray. Available as services.amazon-cloudwatch-agent.
-
Bat, a {manpage}
cat(1)
clone with wings. Available as programs.bat. -
agorakit, an organization tool for citizens' collectives. Available with services.agorakit.
-
mqtt-exporter, a Prometheus exporter for exposing messages from MQTT. Available as services.prometheus.exporters.mqtt.
-
Buffyboard, a framebuffer on-screen keyboard. Available as services.buffyboard.
-
KanBoard, a project management tool that focuses on the Kanban methodology. Available as services.kanboard.
-
git-worktree-switcher, switch between git worktrees with speed. Available as programs.git-worktree-switcher
Backward Incompatibilities
-
binwalk
was updated to 3.1.0, which has been rewritten in rust. The python module is no longer available. See the release notes of 3.1.0 for more information. -
buildGoPackage
has been removed. UsebuildGoModule
instead. See the Go section in the nixpkgs manual for details. -
strawberry
has been updated to 1.2, which drops support for the VLC backend and Qt 5. Thestrawberry-qt5
package andwithGstreamer
/withVlc
override options have been removed due to this. -
timescaledb
requires manual upgrade steps. After you run ALTER EXTENSION, you must run this SQL script. For more details, see the following pull requests #6797. PostgreSQL 13 is no longer supported in TimescaleDB v2.16. -
Support for CUDA 10 has been dropped, as announced in the 24.11 release notes.
-
zammad
has had its support for MySQL removed, since it was never working correctly and is now deprecated upstream. Check the migration guide for how to convert your database to PostgreSQL. -
nodePackages.vls
has been deprecated, as the upstream consumer of it, vetur, has been deprecated by upstream. Upstream suggests migrating to Volar for Vue LSP tooling instead. -
nodePackages.create-react-native-app
has been removed, as it is deprecated. Upstream suggests using a framework for React Native apps instead. -
nodePackages.insect
has been removed, as it's deprecated by upstream. The suggested replacement isnumbat
. -
nodePackages.webpack-dev-server
has been removed, as it should be installed in projects that use it instead. -
racket_7_9
has been removed, as it is insecure. It is recommended to use Racket 8 instead. -
fluxus
has been removed, as it depends onracket_7_9
and had no updates in 9 years. -
renovate
was updated to v39. See the upstream release notes for breaking changes. Like upstream's docker images, renovate now runs on NodeJS 22. -
The behavior of the
networking.nat.externalIP
andnetworking.nat.externalIPv6
options has been changed.networking.nat.forwardPorts
now only forwards packets destined for the specified IP addresses. -
nodePackages.meshcommander
has been removed, as the package was deprecated by Intel. -
kanata
was updated to v1.7.0, which introduces several breaking changes. See the release notes of v1.7.0 for more information. -
nodePackages.expo-cli
has been removed, as it was deprecated by upstream. The suggested replacement is thenpx expo
command. -
vscode-utils.buildVscodeExtension
now requires pname as an argument -
nerdfonts
has been separated into individual font packages under the namespacenerd-fonts
. The directories for font files have changed from$out/share/fonts/{opentype,truetype}/NerdFonts
to$out/share/fonts/{opentype,truetype}/NerdFonts/<fontDirName>
, where<fontDirName>
can be found in the official website as the titles in preview images, with the "Nerd Font" suffix and any whitespaces trimmed. Configuration changes are required, see build output. -
retroarch
has been refactored and the olderretroarch.override { cores = [ ... ]; }
to create a RetroArch derivation with custom cores doesn't work anymore, useretroarch.withCores (cores: [ ... ])
instead. If you need more customization (e.g.: custom settings), usewrapRetroArch
instead. -
gkraken
software andhardware.gkraken.enable
option have been removed, usecoolercontrol
viaprograms.coolercontrol.enable
option instead. -
nodePackages.ganache
has been removed, as the package has been deprecated by upstream. -
containerd
has been updated to v2, which contains breaking changes. See the containerd 2.0 documentation for more details. -
nodePackages.stackdriver-statsd-backend
has been removed, as the StackDriver service has been discontinued by Google, and therefore the package no longer works. -
the notmuch vim plugin now lives in a separate output of the
notmuch
package. Installingnotmuch
will not bring the notmuch vim package anymore, addvimPlugins.notmuch-vim
to your (Neo)vim configuration if you want the vim plugin. -
prisma
andprisma-engines
have been updated to version 6.0.1, which introduces several breaking changes. See the Prisma ORM upgrade guide for more information. -
zf
was updated to 0.10.2, which includes breaking changes from the 0.10.0 release.zf
no longer does Unicode normalization of the input and no longer supports terminal escape sequences in theZF_PROMPT
environment variable.
Other Notable Changes
-
Cinnamon has been updated to 6.4.
-
networking.wireguard
now has an optional networkd backend. It is enabled by default whennetworking.useNetworkd
is enabled, and it can be enabled alongside scripted networking withnetworking.wireguard.useNetworkd
. Somenetworking.wireguard
options have slightly different behavior with the networkd and script-based backends, documented in each option. -
services.avahi.ipv6
now defaults to true. -
bind.cacheNetworks
now only controls access for recursive queries, where it previously controlled access for all queries.
Nixpkgs Library
Breaking changes
- Structure of the
functor
of some types has changed.functor
is an implementation detail and should not be relied upon. If you did rely on it let us know in this PR.lib.types.enum
: Previously thefunctor.payload
was the list of enum values directly. Now it is an attribute set containing the values in thevalues
attribute.lib.types.separatedString
: Previously thefunctor.payload
was the seperator directly. Now it is an attribute set containing the seperator in thesep
attribute.