16 KiB
Nixpkgs 26.11 ("Zokor", 2026.11/??)
Highlights
-
The {file}
nixexprs.tar.xztarball will be discontinued together with Nixpkgs 27.05 after 2027-12-31. Migrate to the {file}nixexprs.tar.zsttarball instead.This affects for example users who pull Nixpkgs as a flake input from https://channels.nixos.org:
-nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz"; +nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst"; -
sing-boxnow supports NaïveProxy outbounds.
Backward Incompatibilities
-
moonhas been updated to2.xand needs manual migration. See the migration guide for instructions. -
[]{#x86_64-darwin-26.11}
Support for
x86_64-darwinhas been dropped, due to Apple’s deprecation of the platform and limited build infrastructure and developer time. We will no longer build packages for the platform or support building them from source.The Nixpkgs 26.05 stable branch will still maintain platform support and binaries will be built until it goes out of support at the end of 2026. Users of
x86_64-darwinwill receive an error message explaining how to switch to 26.05.By the time of this release, Homebrew will offer only limited Tier 3 support for the platform, but MacPorts will likely continue to support it for a long time. We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028.
-
bundlerAppnow sets__structuredAttrs = truefor its result package. Out-of-tree packages passingpostBuildtobundlerAppshould examine if theirpostBuildcommands are compatible with structured attributes. -
databricks-clihas been updated from0.290.2to1.x.x, the first major release. OAuth tokens for interactive logins (auth_type = databricks-cli) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of~/.databricks/token-cache.json; cached tokens from older versions are not migrated, so rundatabricks auth loginonce per profile after upgrading. To keep the previous file-backed storage, setDATABRICKS_AUTH_STORAGE=plaintextor addauth_storage = plaintextunder[__settings__]in~/.databrickscfg. Additionally, thevector_search_endpointsDABs resource renamedmin_qpstotarget_qps(and thevector-search-endpointscommand renamed--min-qpsto--target-qps). See the upstream changelog for details. -
hurlhas been updated to8.x.xwhich has some breaking changes. See upstream changelog for details. -
The existing
wasm32-wasitarget has becomewasm32-wasip1andpkgsCross.wasi32has becomepkgsCross.wasm32-wasip1, aligning with LLVM's nomenclature. Aliases are in place and old forms will continue to be parsed but there might be some breakage if you're relying on the exact form of these (e.g., in sysroot paths). -
gotosocialhas been updated to 0.22.0. This release contains a very long database migration, which should not be cancelled or interrupted under any circumstances. -
Postgres users: Following the migration, if you encounter slowdown on Postgres specifically (ie., timing out while loading timelines) you may need to run some manual database maintenance steps. Please check https://docs.gotosocial.org/en/stable/admin/database_maintenance/#postgres.
-
xsecurelockno longer supports authentication via htaccess files (~/.xsecurelock.pw) or via thepamtesterprogram by default. Only the recommended PAM module is supported unless rebuilt withwithHtaccessorwithPamtester. -
python3Packages.django-health-checkhas been updated to major version 4. See its migration guide and changelog for breaking changes. -
jmtpfshas been removed due to lack of maintenance and fuse3 support. -
libgdatahas been removed, as it was archived upstream and relied on the insecure libsoup 2.4. -
mcphosthas been removed, as it was archived upstream and declared unmaintained. -
fflogshas been removed because it was no longer functional. Users should switch toarchon-lite. -
keycloak.plugins.scim-for-keycloakhas been removed. The upstream open-source project is end-of-life and its last release targets Keycloak 20, which is incompatible with the packaged Keycloak. -
keycloak.plugins.scim-keycloak-user-storage-spihas been removed. Upstream has moved the plugin into Keycloak itself as the experimentalipatuurafederation provider and no longer maintains the standalone repository. -
services.mysqlnow setsroot@localhostauthentication toauth_socketwhen used withmysqlorpercona-server. Existing deployments will also be adjusted if possible. See the security advisory GHSA-6qxx-6rg8-c4p8 for more information. -
zerofshas been updated from1.xto2.xwhich is a breaking change. Volumes created by earlier releases are refused at open with a clear error. There is no migration tool; older volumes remain readable and writable by the release that created them. -
keycloak.plugins.keycloak-metrics-spihas been removed. Keycloak exposes Prometheus metrics natively on its management interface; enable them with themetrics-enabledsetting (andevent-metrics-user-enabledfor login and event counters). See Gaining insights with metrics. -
alpshas been rewritten upstream, see upstream repository for documentation. -
bosunhas been removed as it is no longer maintained upstream. the corresponding monitoring options has been removed. -
uhttpmockproviding 0.0 ABI was removed.uhttpmock_1_0providing 1.0 ABI was renamed touhttpmockanduhttpmock_1_0was kept as an alias. -
himalayahas been updated fromv1.2.0tov2.0.0, which introduces breaking changes. See the release notes and the migration guide. -
tenginehas been removed as it has seen seriously delayed responses to security vulnerabilities. -
nix-serve-ng(andhaskellPackages.nix-serve-ng) is now built against Lix instead of CppNix, following upstream which has switched to Lix as its supported Nix implementation. -
Linux kernel configuration has been moved out of the
linux-kernelfield of the platform structure into the kernel builders:linux-kernel.namehas been removed.linux-kernel.targetis available as thetargetparameter and passthru attribute on the kernel builders.linux-kernel.installTargethas been removed, as it should not be necessary to customize.linux-kernel.DTBis available as thebuildDTBsparameter and passthru attribute on the kernel builders.linux-kernel.{autoModules,preferBuiltin,extraConfig}were already available as kernel builder parameters.
-
The
imgargument ofvmToolshas been renamed tokernelImage, as it collided with the top-levelimgpackage. Additionally, the kernel module tree used inside the VM has been split out of thekernelargument into a newkernelModulesargument (defaulting tokernel). Callers that overrodekernelwith a module tree (e.g. frompkgs.aggregateModules) to make extra modules available must now pass it viakernelModulesinstead, keepingkernelpointing at a bootable kernel derivation. -
The ARMv5 Linux kernel build now uses a standard configuration and generates a standard compressed image instead of the deprecated legacy U‐Boot image format.
lib.systems.{examples,platforms}.{sheevaplug,pogoplug4}have been unified intolib.systems.examples.armv5tel-multiplatform. Note that there is no official support for ARMv5 and it is not possible to build even a simple NixOS configuration out of the box. -
pdnshas been updated from5.0.xto5.1.x. Please be sure to review the Upgrade Notes before upgrading. Namely LUA record updates are no longer allowed by default, and the embedded webserver no longer includes aaccess-control-allow-origin: *header by default. -
davmailno longer supports building with GTK 2, and thepreferGtk3override flag has been removed as GTK 3 is always used. -
Support for the legacy U‐Boot image format has been removed from the Linux kernel builders, as it is deprecated upstream and no longer used by any platform in Nixpkgs.
-
etcd_3_4package was dropped, as it's gone EOL. Please upgrade to either 3.5 or 3.6. See migration notes for incompatibilities and upgrade procedure. -
rke2retires ingress-nginx and transitions to Traefik starting inrke2_1_36. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default for new clusters starting in v1.36 (existing clusters will keep their current ingress upon upgrade to avoid breakage). This transition brings the following structural changes:- Airgapped Environments: The rke2-images-core tarball now contains Traefik images instead of ingress-nginx. The standalone rke2-images-traefik tarball has been removed. Users who must continue using ingress-nginx will now need to manually provide the rke2-images-ingress-nginx tarball.
- Future Removal: The ingress-nginx chart will not receive any additional updates and will be completely removed in v1.37 for community users.
-
buildFHSEnvChroothas been removed after deprecation in 23.05. -
leafnodehas been removed, as it was an unmaintained alpha-release of leafnode 2 and has a dependency on the EOL PRCE-library. Consider usingleafnode1instead, which is still maintained. -
gh-actions-cachehas been removed since its functionality has been integrated directly intogh(gh cache). See upstream readme. -
requireFilenow setsmeta.license = lib.licenses.unfreeby default. Users ofrequireFile-based derivations that preserve this default will need to explicitly allow their evaluation as described in . -
texlive.combineis deprecated and scheduled for removal in 27.05. Please migrate totexliveSmall.withPackages(see ). -
keycloakwas updated to >= 26.7.0 and includes some breaking internal (API) changes. See the upstream migration guide for more information. -
librestproviding 0.7 ABI was removed.librest_1_0providing 1.0 ABI was renamed tolibrestandlibrest_1_0was kept as an alias. -
luaPackages.lrexlib-pcrehas been removed as part of the process to fully migrate from the end-of-life PRCE library to PCRE2.luaPackages.lrexlib-pcre2and multiple other versions of lrexlib can be used instead. -
pnpm_10was upgraded to version 10.34.1+, which introduced stricter integrity checks. If you encounterERR_PNPM_MISSING_TARBALL_INTEGRITY, you can fall back to the olderpnpm_10_34_0. -
fetchPnpmDeps'fetcherVersion = 1andfetcherVersion = 2have been removed, as announced in the 26.05 release. Packages still using them now throw an evaluation error and must migrate tofetcherVersion = 3(or later) and regenerate their hashes. See the pnpmfetcherVersionsection of the manual for details. -
rebuilderdhas been updated to 0.27.0 introducing breaking changes. See upstream changelog for details: 0.26.0, 0.27.0 -
Starting with v14,
flameshotwill primarily utilise xdg-desktop-portal calls for screenshotting. This will directly affect users on X11 window managers due to the lack of a compatible portal with Screenshot feature. See upstream changelog or NixOS Flameshot wiki page for workarounds. -
nim1and respective aliases have been removed due to entering EOL; please migrate tonimornim-unwrapped(nim 2). -
nim-2_0&nim-2_2and respective aliases have been removed; please migrate tonimornim-unwrapped(nim 2.2.10). -
domoticzhas been updated from2024.7to2026.x, breaking third party applications and scripts using the old RType calls. Review the release notes for more information. -
vimacshas been removed, as it has not been maintained in 10 years and was built for an old version of vim (6.0).
Other Notable Changes
-
super-productivityhas been updated. The binary has been renamed fromsuper-productivitytosuperproductivity. A symlink from the old name is provided for backward compatibility. -
buildFHSEnv,appimageTools.wrapAppImage, andappimageTools.wrapType2now support thefinalAttrspattern. When usingwrapAppImage, it is now recommended to pass the extracted AppImage to thecontentsattribute (instead ofsrc), to avoid shadowingsrc. Passing the extracted contents tosrcis now deprecated and will be removed in a future release. -
Package-URL (PURL, https://github.com/package-url/purl-spec) metadata identifier has been added for
fetchgit,fetchpypiandfetchFromGithubfetchers.mkDerivationhas been adjusted to reuse this information. Package-URLs allow reliably identifying and locating software packages. Maintainers of derivations using the adapted fetchers should rely on thedrv.src.meta.identifiers.v1.purldefault identifier and can enhance theirdrv.meta.identifiers.v1.purlslist once they would like to have additional identifiers. Maintainers usingfetchurlfordrv.srcare urged to adapt theirdrv.meta.identifiers.purlPartsfor proper identification. -
Emacs loads the
early-defaultlibrary afterearly-init.el. Users can addearly-init.elviaemacs.pkgs.withPackagesby packagingearly-init.elinto a library namedearly-default. To prevent loading theearly-defaultlibrary, setinhibit-early-default-initinearly-init.el. -
services.cephenabled the generation of Ceph log files at/var/log/ceph/. They were missing before because Ceph omitted logs when this directory was missing. Ceph logs can grow large, so you may want to configure rotation of these logs.
Nixpkgs Library
Breaking changes
fittrackee1.0.0 now requires postgres with postgis. The upgrade guide has steps to prepare for this upgrade.
Deprecations
- Setting
config.allowBrokenPredicateis deprecated in favor of usingconfig.problems.handlers.PackageName.broken = "warn"(or= "ignore"). For more information see .
Additions and Improvements
- Create the first release note entry in this section!