13 KiB
Nixpkgs 25.11 ("Xantusia", 2025.11/??)
Highlights
- The initial work to support native compilation on LoongArch64 has completed, with further changes currently
in preparation. In accordance with the Software Development and Build Convention for LoongArch Architectures,
this release sets the default march level to
la64v1.0
, covering the desktop and server processors of 3X5000 and newer series. However, embedded chips without LSX (Loongson SIMD eXtension), such as 2K0300 SoC, are not supported.pkgsCross.loongarch64-linux-embedded
can be used to build software and systems for these platforms. - The official Nix formatter
nixfmt
is now stable and available aspkgs.nixfmt
, deprecating the temporarypkgs.nixfmt-rfc-style
attribute. The classicnixfmt
will stay available for some more time aspkgs.nixfmt-classic
.
Backward Incompatibilities
-
nixVersions.nix_2_3
has been dropped because it was insecure and unmaintained. -
The minimum version of Nix required to evaluate Nixpkgs has been raised from 2.3 to 2.18.
-
The
offrss
package was removed due to lack of upstream maintenance since 2012. It's recommended for users to migrate to another RSS reader -
base16-builder
node package has been removed due to lack of upstream maintenance. -
gentium
package now providesGentium-*.ttf
files, and notGentiumPlus-*.ttf
files like before. The font identifiersGentium Plus*
are available in thegentium-plus
package, and if you want to use the more recently updated packagegentium
by sil, you should update your configuration files to use theGentium
font identifier. -
space-orbit
package has been removed due to lack of upstream maintenance. Debian upstream stopped tracking it in 2011. -
Derivations setting both
separateDebugInfo
and one ofallowedReferences
,allowedRequistes
,disallowedReferences
ordisallowedRequisites
must now set__structuredAttrs
totrue
. The effect of reference whitelisting or blacklisting will be disabled on thedebug
output created byseparateDebugInfo
. -
victoriametrics
no longer contains VictoriaLogs components. These have been separated into the new packagevictorialogs
. -
mx-puppet-discord
was removed from nixpkgs along with its NixOS module as it was unmaintained and was the only user of sha1 hashes in tree. -
conduwuit
was removed due to upstream ceasing development and deleting their repository. For existing data, a migration tomatrix-conduit
,matrix-continuwuity
ormatrix-tuwunel
may be possible. -
gnome-keyring
no longer ships with an SSH agent anymore because it has been deprecated upstream. You should usegcr_4
instead, which provides the same features. More information on why this was done can be found on the relevant GCR upstream PR. -
stdenv.mkDerivation
and other derivation builders that use it no longer allow the value ofenv
to be anything but an attribute set, for the purpose of setting environment variables that are available to the builder process. An environment variable calledenv
can still be provided by means ofmkDerivation { env.env = ...; }
, though we recommend to use a more specific name than "env". -
The default Android NDK version has been raised to 27, and the default SDK version to 35. NDK 21–26 have been removed, as they are end‐of‐life.
-
conftest
since0.60.0
has moved to use regov1
as default. To continue usingv0
use--rego-version v0
. For more information about upgrading to Rego v1 syntax, see the upstream docs. -
Zig 0.12 has been removed.
-
stalwart-mail
since0.13.0
"introduces a significant redesign of the MTA’s delivery and queueing subsystem". See the upgrading announcement for the0.13.0
release. -
Greetd and its original greeters (
tuigreet
,gtkgreet
,qtgreet
,regreet
,wlgreet
) were moved fromgreetd
namespace to top level (greetd.tuigreet
->tuigreet
,greetd.greetd
->greetd
, etc). The original attrs are available for compatibility as passthrus ofgreetd
, but will emit a warning. They will be removed in future releases. -
The
archipelago-minecraft
package was removed, as upstream no longer provides support for the Minecraft APWorld. -
navidrome
0.58.0 introduces multi-library support and backwards incompatible database migrations. Ensure backups are valid and run a Full Scan after starting the new version. -
tooling-language-server
has been renamed todeputy
(both the package and binary), following the rename of the upstream project. -
fetchtorrent
, when using the "rqbit" backend, erroneously started fetching files into a subdirectory in Nixpkgs 24.11. The original behaviour – which matches the behaviour using the "transmission" backend – has now been restored. Users reliant on the erroneous behaviour can temporarily maintain it by addingflatten = false
to thefetchtorrent
arguments; Nix will produce an evaluation warning for anyone usingbackend = "rqbit"
withoutflatten = true
. -
linux
and all other Linux kernel packages have moved all in-tree kernel modules into a newmodules
output. -
webfontkitgenerator
has been renamed towebfont-bundler
, following the rename of the upstream project. The binary name remainswebfontkitgenerator
. Thewebfontkitgenerator
package is an alias towebfont-bundler
. -
inspircd
has been updated to the v4 release series. Please refer to the upstream documentation for general information and a list of breaking changes. -
lima
package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable thelima-additional-guestagents
package by settingwithAdditionalGuestAgents = true
when overriding lima with this input. -
mongodb-6_0
was removed as it is end of life as of 2025-07-31. -
vmware-horizon-client
was renamed toomnissa-horizon-client
, following VMware's sale of their end-user business to Omnissa. The binary has been renamed fromvmware-view
tohorizon-client
. -
neovimUtils.makeNeovimConfig
now usescustomLuaRC
parameter instead of acceptingluaRcContent
. The old usage is deprecated but still works with a warning. -
telegram-desktop
packages now usesTelegram
for its binary. The previous name wastelegram-desktop
. This is due to an upstream decision to make the name consistent with other platforms. -
podofo
has been updated from0.9.8
to1.0.0
. These releases are by nature very incompatable due to major api changes. The legacy versions can be found underpodofo_0_10
andpodofo_0_9
. Changelog: https://github.com/podofo/podofo/blob/1.0.0/CHANGELOG.md, API-Migration-Guide: https://github.com/podofo/podofo/blob/1.0.0/API-MIGRATION.md. -
NetBox was updated to
>= 4.3.0
. Have a look at the breaking changes of the 4.3 release, make the required changes to your database, if needed, then upgrade by settingservices.netbox.package = pkgs.netbox_4_3;
in your configuration. -
privatebin
has been updated to2.0.0
. This release changes configuration defaults including switching the template and removing legacy features. See the v2.0.0 changelog entry for details on how to upgrade. -
go-mockery
has been updated to v3. For migration instructions see the upstream documentation. If v2 is still requiredgo-mockery_v2
has been added but will be removed on or before 2029-12-31 in-line with it's [upstream support lifecycle](https://vektra.github.io/mockery/ -
private-gpt service has been removed by lack of maintenance upstream.
Other Notable Changes
-
Added
rewriteURL
attribute to the nixpkgsconfig
, to allow for rewriting the URLs downloaded byfetchurl
. -
The systemd initrd will now respect
x-systemd.wants
andx-systemd.requires
for reliably unlocking multi-disk bcachefs volumes. -
homebox
0.20.0 changed how assets are stored and hashed. It is recommended to back up your database before this update. -
New hardening flags,
strictflexarrays1
andstrictflexarrays3
were made available, corresponding to the gcc/clang options-fstrict-flex-arrays=1
and-fstrict-flex-arrays=3
respectively. -
gramps
has been updated to 6.0.0 Upstream recommends backing up your Family Trees before upgrading. -
meta.mainProgram
: Changing thismeta
entry can lead to a package rebuild due to being used to determine theNIX_MAIN_PROGRAM
environment variable. -
searx
was updated to useenvsubst
instead ofsed
for parsing secrets from environment variables. If your previous configuration included a secret reference likeserver.secret_key = "@SEARX_SECRET_KEY@"
, you must migrate to the new envsubst syntax:server.secret_key = "$SEARX_SECRET_KEY"
. -
versionCheckHook
: Packages that previously relied solely onpname
to locate the program used to version check, but have a differingmeta.mainProgram
entry, might now fail. -
The debug outputs produced by
separateDebugInfo = true;
now contain symlinks mapping build-ids to the original source and ELF file. Specifically, if$out/bin/ninja
has build-id483bd7f7229bdb06462222e1e353e4f37e15c293
, then$debug/lib/debug/.build-id/48/3bd7f7229bdb06462222e1e353e4f37e15c293.executable
is a symlink to$out/bin/ninja
$debug/lib/debug/.build-id/48/3bd7f7229bdb06462222e1e353e4f37e15c293.source
is a symlink to the value of$src
during build$debug/lib/debug/.build-id/48/3bd7f7229bdb06462222e1e353e4f37e15c293.sourceoverlay
is a symlink to a directory with the same structure as the expanded$sourceRoot
but containing only a copy of files which were patched during the build$debug/lib/debug/.build-id/48/3bd7f7229bdb06462222e1e353e4f37e15c293.debug
is the file containing debug symbols (like before).
-
fetchgit
: AddrootDir
argument to limit the resulting source to one subdirectory of the whole Git repository. Corresponding--root-dir
option added tonix-prefetch-git
. -
The
clickhouse
package now track the stable upstream version per upstream's recommendation. Users can continue to use theclickhouse-lts
package if desired.
Nixpkgs Library
mealie
has been updated to 3.0.2: This update introduces breaking changes in some API endpoints (see the release changelog)
Breaking changes
-
reaction
has been updated to version 2, which includes some breaking changes. For more information, check the release article. -
The
buildPythonPackage
andbuildPythonApplication
functions now require an explicitformat
attribute. Previously the default format used setuptools and calledsetup.py
from the source tree, which is deprecated. The modern alternative is to configurepyproject = true
withbuild-system = [ setuptools ]
.
Deprecations
- Create the first release note entry in this section!
Additions and Improvements
-
neovim
: Added support for thevim.o.exrc
option, theVIMINIT
environment variable, and sourcing ofsysinit.vim
.See the neovim help page
:help startup
for more information, as well as the nixpkgs neovim wrapper documentation.