nixpkgs/doc/release-notes/rl-2605.section.md
2026-05-09 00:37:58 +00:00

33 KiB
Raw Blame History

Nixpkgs 26.05 ("Yarara", 2026.05/??)

Highlights

  • GCC has been updated from GCC 14 to GCC 15. This introduces some backwards incompatible changes; Refer to the upstream porting guide for details.

  • Node.js default version has been updated from 22 LTS to 24 LTS. This introduces some breaking changes; Refer to the upstream migration article for details.

  • Ruby default version has been updated from 3.3 to 3.4. Refer to the upstream release announcement for details.

  • []{#x86_64-darwin-26.05}

    This will be the last release of Nixpkgs to support x86_64-darwin. Platform support will be maintained and binaries built until Nixpkgs 26.05 goes out of support at the end of 2026. For 26.11, due to Apples deprecation of the platform and limited build infrastructure and developer time, we will no longer build packages for x86_64-darwin or support building them from source.

    By the time of 26.11s 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.

    A warning will be displayed for x86_64-darwin users; you can set in the Nixpkgs configuration to silence it. The {file}~/.config/nixpkgs/config.nix file will not work for users of flakes, who can instead replace nixpkgs.legacyPackages.x86_64-darwin with

    import nixpkgs {
      system = "x86_64-darwin";
      config.allowDeprecatedx86_64Darwin = true;
    }
    

    nix-darwin users can set nixpkgs.config.allowDeprecatedx86_64Darwin in their system configurations.

  • The Factor programming language has been updated to Version 0.101 bringing various improvements to UI rendering and HiDPI support as well as support for Unicode 17.0.0. Starting from Version 0.100, the Factor VM is compiled with Clang.

    This brings along some backwards compatibility issues in the language further detailed here. Additionally, the FUEL Emacs module is no longer part of the factor-lang package. It is part of the MELPA package set for a while already and must be taken from there. This does not affect factor-lang packages Version 0.99 and 0.100. Using the official MELPA package now puts the burden of providing the path to /lib/factor in factor-root-dir on the user. Make sure to use the extraVocabs package attribute to compose a special vocabulary tree if necessary. You can refer to the generated tree of vocabulary roots via the newly exposed vocabTree attribute, as described in the documentation.

  • Nixpkgs configuration, specified for NixOS using nixpkgs.config, or using the config argument when importing nixpkgs, has learned to accept a lib argument as well as pkgs, which allows the configuration to be computed without depending on the pkgs fixed point. If you are referencing licenses in lib.licenses by having this configuration be a function taking a pkgs arg, you may wish to change to using lib for faster computation and to avoid infinite recursion errors if pkgs depends on parts of the computed configuration in future.

    For example, if you currently have configuration that looks like this:

      { pkgs, ... }:
      {
        allowlistedLicenses = [ pkgs.lib.licenses.nasa13 ];
        blocklistedLicenses = with pkgs.lib.licenses; [ gpl3Only gpl3Plus ];
      }
    

    You may wish to update it to something like this:

      { lib, ... }:
      {
        allowlistedLicenses = [ lib.licenses.nasa13 ];
        blocklistedLicenses = with lib.licenses; [ gpl3Only gpl3Plus ];
      }
    

    Or, if you need configuration that works with both 26.05 and 25.11:

      { pkgs, lib ? pkgs.lib, ... }:
      {
        allowlistedLicenses = [ lib.licenses.nasa13 ];
        blocklistedLicenses = with lib.licenses; [ gpl3Only gpl3Plus ];
      }
    

Backward Incompatibilities

  • The nodePackages package set has been removed entirely from nixpkgs. This package set was created to ease the maintenance burden of maintaining lots of NodeJS-based packages within nixpkgs, but became a burden itself. Over the past several releases, there has been a focus on removing it in favor of the more modern nixpkgs packaging strategies. After a long time, this package set has been deprecated and removed. If you are using its package set in your own config, please use the top-level packages instead.(i.e pkgs.package-name instead of pkgs.nodePackages.package-name).

  • Note that the above nodePackages removal also coincides with the removal of node2nix and its tooling, which have been deprecated for a long time.

  • buildEnv-constructed packages now take only structured attributes ({ __structuredAttrs = true; }).

  • xfce.mkXfceDerivation has been deprecated (i.e. conditioned behind nixpkgs.config.allowAliases) and will be removed in NixOS 26.11, please use stdenv.mkDerivation directly. You can migrate by adding pkg-config, xfce4-dev-tools, and wrapGAppsHook3 to your nativeBuildInputs and --enable-maintainer-mode to your configureFlags.

  • yarn2nix/yarn2nix-moretea and its tooling(mkYarnPackage, mkYarnModules, and fixup_yarn_lock) have been removed as they were unmaintainable in nixpkgs. If you want to build with Yarn V1 going forward, use the hooks instead(yarnBuildHook, yarnConfigHook, and yarnInstallHook). See the yarn v1 documentation in the nixpkgs manual for more details.

  • albert has been updated to the version 34.0.5. This release redesigns the query system to support stateful asynchronous handlers and infinite scrolling, and adds internationalized tokenization. This update introduces several breaking changes: the Python plugin interface is now v5.0, the PATH plugin has been renamed to Commandline, and the QStylesheets-based widgets box model frontend has been removed. For more information read the changelog for 34.0.0.

  • asciinema_3 is now renamed to asciinema and the old asciinema version 2.x.x written in python was removed.

  • sing-box has been updated to 1.13.0, which has removed some deprecated options. See upstream documentation for details and migration options.

  • cargo-codspeed has been updated from 3.0.5 to 4.2.0. Version 4.0.0 includes breaking changes. For more information read the changelog for 4.0.0.

  • commafeed has been updated to version 7.0.0, which includes changes impacting its security. Please see upstream's release notes for details.

  • corepack_latest has been removed, as Corepack is no longer distributed with Node.js.

  • spoof has been removed, as there are many issues upstream with it working on modern OS versions, and it appears to be unmaintained.

  • duckstation package has been removed, as it was requested by upstream and build source were changed to be incompatible with NixOS.

  • nodePackages.coc-go and nodePackages.coc-tsserver, along with their vim plugins, have been removed from nixpkgs due to being unmaintained.

  • nodePackages.wavedrom-cli has been removed, as it was unmaintained within nixpkgs.

  • requireFile now treats any message or url argument as a literal string, rather than subjecting it to Bash here-doc expansion. This allows including strings like $PWD in the message without needing to know about and handle the undocumented Bash expansion.

  • nodePackages.browserify has been removed, as it was unmaintained within nixpkgs.

  • command-not-found package will be enabled by default if the source of nixpkgs contains the file programs.sqlite. This is the case if a nixpkgs tarball from https://channels.nixos.org is used. This usage will also make the database of command-no-found stateless.

  • nodePackages.sass has been removed, as it was unmaintained within nixpkgs.

  • All @tailwindcss packages in the nodePackages set have been removed, as they are libraries that should instead be locked by JS projects that utilize them.

  • arti has been updated to major version 2, which removed the long-deprecated proxy.socks_port and proxy.dns_port and the legacy syntax for specifying directory authorities. For more information, see the changelog for 2.0.0.

  • kanata now requires karabiner-dk version 6.0+ or later. The package has been updated to use the new karabiner-dk package and the darwinDriver output stays at the version defined in the package.

  • Reloading or restarting systemd units from the NixOS activation script is deprecated, and will be removed in NixOS 26.11. This deprecation is part of a bigger effort to deprecate activation scripts altogether, which will take place over several releases. There are no in-tree usages of the now-deprecated reload/restart functionality.

  • Keycloak has been updated to 26.6.X, bringing a lot new features like federated client authentication, JWT authorization grants, workflows and the ability to do zero-downtime patch releases. Read more about all the exciting new capabilities in keycloak 26.6 here and consult the migration guide to 26.6 to find out wether this is a breaking change for your keycloak instance.

  • elegant-sddm has been updated to be Qt6 compatible. Themes for SDDM are slightly different so read the wiki for more.

  • forgejo-lts has been updated to major version 15. For more information, see the release blog post and full release notes

  • pulsar has finally migrated from electron v12 to v30, backup ~/.pulsar before upgrading. See Pulsar on Electron 30: what it means for you.

  • mactracker has been updated to major version 8, which now requires macOS 11 Big Sur or later. The previous version supported Mac OS X 10.6.8 or later.

  • net-news-wire has been updated from 6.x to 7.x, which now requires macOS 15 (Sequoia) or newer. The previous version supported macOS 13 and newer.

  • bartender has been updated to major version 6. This removes support for MacOS Sonoma (and adds support for Tahoe). For more information, see the release notes or the Bartender 6 support page.

  • lima has been updated from 1.x to 2.x. This major update includes several breaking changes, such as /tmp/lima no longer being mounted by default.

  • Varnish Cache has been updated to major version 8, varnish now refers to varnish80. That release contains breaking changes, see Upgrading to Varnish-Cache 8.0. Note that the Varnish 6 LTS release remains available as varnish60. The Varnish Cache open-source project renamed itself to Vinyl Cache. Please migrate to vinyl-cache. See the vinyl-cache release notes entry for more information. Varnish 8 is not supported for the entire NixOS 26.05 release cycle.

  • Vinyl Cache has been introduced with the major version 9 as the Varnish Cache open source project renamed itself to Vinyl Cache. Please migrate to Vinyl Cache 9 when you still use Varnish Cache. A new module has also been introduced for this migration: services.vinyl-cache. This release contains breaking changes, see Upgrading to Vinyl Cache 9.0. The varnish-modules project is currently not packaged for Vinyl Cache, as it is incompatible.

  • eslint has been updated from version 9 to version 10. Please see https://eslint.org/blog/2026/02/eslint-v10.0.0-released/ for details about the breaking changes included in the update.

  • minio has been abandoned by upstream and security issues won't be fixed. It is scheduled to be removed for 26.11. Users should migrate to alternatives such as Garage, SeaweedFS, or Ceph. S3-compatible clients such as rclone can be used to move data.

minio_legacy_fs has been removed. Users should migrate to alternatives such as Garage, SeaweedFS, or Ceph. S3-compatible clients such as rclone can be used to move data.

  • mercure has been update to 0.21.4 (or later). Version 0.21.0 and 0.21.2 introduce breaking changes to the package.

  • mozc and mozc-ut no longer contains the IBus front-end, which are now provided by ibus-engines.mozc and ibus-engines.mozc-ut.

  • nemorosa has been updated from 0.4.3 to 0.5.0. Version 0.5.0 introduced breaking changes to the package configuration.

  • n8n has been updated to version 2. You can find the breaking changes here: https://docs.n8n.io/2-0-breaking-changes/.

  • nomad has been updated to v1.11. Refer to the release note for more details. Once a new Nomad version has started and upgraded it's data directory, it generally cannot be downgraded to the previous version.

  • The default NVIDIA drivers no longer support Maxwell (GTX 1xxx) or older GPUs. Pin the nvidia package to config.boot.kernelPackages.nvidiaPackages.legacy_580 for continued support.

  • gurk-rs has been updated from 0.6.4 to 0.8.0. Version 0.8.0 includes breaking changes. For more information read the release notes for 0.8.0.

  • iroh has been removed and split up into iroh-dns-server and iroh-relay.

  • the xorg package set has been deprecated, packages have moved to the top level.

  • python3Packages.buildPythonPackage and python3Packages.buildPythonApplication now throw errors in the presence of pytestFlagsArray. Please use pytestFlags and (enabled|disabled)(TestPaths|Tests|TestMarks) instead. If modifying the Nix expression is not feasible, users can remediate the error by overriding pytestFlagsArray with null or [ ].

  • python3Packages.pygame has been been renamed to python3Packages.pygame-original, the attribute python3Packages.pygame will from python 3.14 default to the more actively maintained python3Packages.pygame-ce

  • fastly has been updated to major version 14. For more information, you can check the release notes

  • peertube has been updated from 7.3.0 to 8.0.2, introducing several breaking changes. Some notable new features include channel collaboration and video player redesign with a new theme. For details on how to upgrade, see the IMPORTANT NOTES section of the v8.0.0 CHANGELOG entry.

  • python3Packages.gradio has been updated to version 6. See upstream's migration guide at https://www.gradio.app/main/guides/gradio-6-migration-guide.

  • python3Packages.pikepdf no longer builds with mupdf support by default, which may be nice in Jupyter and iPython. Build with withMupdf = true if this is required.

  • vicinae has been updated to v0.20. This includes, among several other breaking changes, a complete overhaul of the configuration system. For update instructions, see the upstream configuration documentation.

  • percona-server_8_4 has been removed. Please update to percona-server_8_0, mysql84 or mariadb.

  • The man-pages package's outputs have been split. The manual pages are installed into the man output, which is installed by default. Binaries (including diffman-git, mansect, pdfman, and sortman) are installed into the out output, which is not installed by default.

  • All Log4Shell vulnerability scanners were removed, as they were all unmaintained upstream and are no longer relevant given that the vulnerability has been fixed upstream for several years.

  • Plugins for the JetBrains IDEs have been removed from Nixpkgs.

  • spacetimedb has been updated from 1.12.0 to 2.0.3. Breaking changes and migration notes from 1.0 to 2.0 can be found here.

  • jetbrains.plugins.addPlugins no longer supports plugin names or ID strings. You can still use addPlugins with plugin derivations, such as plugins packaged outside of Nixpkgs.

  • The programs.captive-browser module no longer falls back on a setcap wrapper around udhcpc to discover your network's DNS server due to GHSA-wc3r-c66x-8xmc (CVE-2026-25740). If you're using this module, you must either configure programs.captive-browser.dhcp-dns manually or enable one of NetworkManager, dhcpcd, or systemd-networkd.

  • NetBox was updated to >= 4.5.5. Have a look at the breaking changes of the 4.5 release, make the required changes to your database, if needed, then upgrade by setting services.netbox.package = pkgs.netbox_4_5; in your configuration.

  • The services.yggdrasil module has been refactored with the following breaking changes:

    • The services.yggdrasil.configFile option has been removed. Configuration should now be specified directly via services.yggdrasil.settings.
    • The services.yggdrasil.persistentKeys option has been removed. To maintain persistent keys and IPv6 addresses across reboots, use services.yggdrasil.settings.PrivateKeyPath to securely load your private key from a file via systemd credentials. The private key must be in PEM format (PKCS #8).
    • Storing PrivateKey directly in settings is now explicitly forbidden to prevent keys from being stored world-readable in the Nix store.
    • If you previously used configFile, migrate your configuration to the settings option and extract the private key to a separate file referenced by PrivateKeyPath.
    • If you previously used persistentKeys, convert your keys to PEM format and store them in a secure location accessible only to root, then reference them via PrivateKeyPath.
  • pocket-id has been updated to version 2 that contains breaking changes.

  • services.xserver will now throw an error if an X11 driver specified in videoDriver(s) cannot be found. Previously, unknown drivers would be silently ignored.

  • asio (standalone version of boost::asio) has been updated from 1.24.0 to 1.36.0. Some breaking changes were introduced between these two versions, and the one affected most was the removal of asio::io_service in favor of asio::io_context in 1.33.0. asio_1_32_0 is retained for packages that have not completed migration. asio_1_10 has been removed as no packages depend on it anymore. asio also no longer propagates boost as it is used independent from boost in most cases.

  • docker-color-output has been updated from major version 2 to 3. One breaking change is, that they switched to YAML-based configuration files.

  • dasel has been updated from v2.8.1 to v3. There were significant breaking changes:

    • The put and delete commands have been removed. Use the new query syntax with expressions to modify data in-place.
    • The --version flag is now a subcommand: dasel version
    • CLI framework migrated from Cobra to Kong, changing flag parsing behavior
    • Selector syntax has been revamped, see dasel v3 documentation for migration guide.

    Example migration:

    • Old: echo '{"my":{"favourites":{"colour":"blue"}}}' | dasel put -t json -r json -t string -v "red" "my.favourites.colour"
    • New: echo '{"my":{"favourites":{"colour":"blue"}}}' | dasel query -i json -o json --root 'my.favourites.colour = "red"'
  • stalwart-mail has been renamed to stalwart

  • Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now.

  • The services.avahi.wideArea option now defaults to false as a mitigation against CVE-2024-52615/GHSA-x6vp-f33h-h32g.

  • coreth has been removed, as upstream has moved it into avalanchego.

  • nodePackages.prebuild-install was removed because it appeared to be unmaintained upstream. See upstream's recommendations for alternatives.

  • davis made changes to the IMAP_AUTH_URL option. The flags are now standalone parameters that you need to fill:

    • Before:
      IMAP_AUTH_URL={imap.gmail.com:993/imap/ssl/novalidate-cert}
      
    • After:
      IMAP_AUTH_URL=imap.mydomain.com:993
      IMAP_ENCRYPTION_METHOD=ssl
      IMAP_CERTIFICATE_VALIDATION=false
      
  • python3packages.pillow-avif-plugin has been removed as the functionality is included in python3packages.pillow directly since version 11.3.

  • wasistlos (previously known as whatsapp-for-linux) has been removed because it was unmaintained and archived upstream. Multiple alternatives exist: karere, whatsie and zapzap among others.

  • light has been removed because it was unmaintained. brightnessctl and acpilight provide similar functionality.

  • opensmtpd-filter-dkimsign is now installed into libexec/smtpd instead of libexec/opensmtpd so that now it is properly linked into the environment built by services.opensmtpd.procPackages. If you hardcoded path to filter-dkimsign please consider using this option.

  • shisho has been removed because it's archived. semgrep, opengrep, and ast-grep provide similar functionality.

  • services.openssh.settings.AcceptEnv now explicitly defined as an option that takes a list of strings, to facilitate option merging. Setting it to a string value is no longer supported.

  • All Xfce packages have been moved to top level (e.g. if you previously added pkgs.xfce.xfce4-whiskermenu-plugin to environment.systemPackages, you will need to change it to pkgs.xfce4-whiskermenu-plugin). The xfce scope will be removed in NixOS 26.11.

  • The Dovecot IMAP server has been updated to version 2.4, with the dovecot attribute now referring to this backwards-incompatible version. The attribute dovecot_2_3 refers to the previous version. The Pigeonhole plugin has been similarly updated to 2.4, with the version compatible with Dovecot 2.3 being at dovecot_pigeonhole_0_5. See https://doc.dovecot.org/latest/installation/upgrade/2.3-to-2.4.html for more information on how to upgrade.

  • spacefm was removed because it appeared to be unmaintained upstream.

  • vimPlugins.nvim-treesitter has been updated to main branch, which is a full and incompatible rewrite. If you can't or don't want to update, you should use vimPlugins.nvim-treesitter-legacy.

  • services.taskchampion-sync-server module have been added an option services.taskchampion-sync-server.dynamicUser to use systemd's DynamicUser feature. This is enabled by default when stateVersion is at least 26.05, and disabled otherwise. If you need this feature, you need to set services.taskchampion-sync-server.dynamicUser to true and migrate /var/lib/taskchampion-sync-server to /var/lib/private/taskchampion-sync-server.

  • Package jellyseerr has been renamed to seerr following the upstream rename.

  • The default packages in services.jenkins.packages have been dropped, since not every Jenkins installation needs any package at all. It's more reasonable to leave it empty and let users configure what they need.

  • The pie hardening flag has been removed and will now error, after being deprecated in 25.11. Compilers are expected to enable PIE by default, as has been common practice since 2016 outside of Nixpkgs. If a package needs pie disabled pass -no-pie in CFLAGS. It is unlikely this will be necessary in many cases; due to the prevalence of default PIE toolchains, most packages incompatible with PIE already pass -no-pie.

Other Notable Changes

  • nvidia-x11 proprietary kernel modules are now provided separately as nvidia_x11.mod, while nvidia_x11.open remains the open-source kernel module package.

  • linuxPackages.nvidiaPackages now follows NVIDIA's official release branches by exposing production, new_feature, and beta. The convenience aliases latest (newer of production and new_feature) and bleeding_edge (newer of latest and beta) are provided; note that beta now refers strictly to the beta branch.

  • balatro now supports the Google Play and Xbox PC versions of the game. Pass the apk or Assets.zip as balatro.override { src = "…" }.

  • uptime-kuma has been updated to v2, which requires an automated migration that can take a few hours. A backup is highly recommended. If your SQLite database is corrupted, the migration might fail and require manual intervention. See the migration guide for more information.

  • incus-lts has been updated from v6 to v7

  • The libcxxhardeningextensive hardening flag has been disabled by default. Enabling it by default in 25.11 was unintentional and may have had a negative effect on performance in some cases. libcxxhardeningfast remains enabled by default.

  • The packages ibtool, actool and re-plistbuddy have been added, providing reimplementations of the corresponding proprietary Apple tools. They are more compatible with the originals than the previously existing xcbuild package, and should enable more darwin software to be built from source.

  • Switch inhibitors were introduced, which add a pre-switch check that compares a list of strings between the previous and the new generation, and refuses to switch into the new generation when there is a difference between the two lists. This allows to avoid switching into a system when for instance the systemd version changed by adding config.systemd.package.version to the switch inhibitors for your system. You can still forcefully switch into any generation by setting NIXOS_NO_CHECK=1.

  • GNU Taler has been updated to version 1.3. This release focuses on getting everything ready for a deployment of GNU Taler by Magnet bank. For more details, see the upstream release notes.

  • The services.nextcloud-spreed-signaling NixOS module has been added to facilitate declarative management of a standalone Spreed signaling server ("High Performance Backend" for Nextcloud Talk).

  • collabora-desktop The desktop version of Collabora Office is now available, package version 25.05.9.2-2.

  • fetchPnpmDeps and pnpmConfigHook were added as top-level attributes, replacing the now deprecated pnpm.fetchDeps and pnpm.configHook attributes.

  • fetchPnpmDeps' fetcherVersion = 1 is deprecated and scheduled for removal in the 26.11 release. A deprecation warning has been added. Packages still on fetcherVersion = 1 should migrate to fetcherVersion = 3 and regenerate their hashes. See the pnpm fetcherVersion section of the manual for details.

  • buildNpmPackage now supports npmDepsFetcherVersion (and fetchNpmDeps now supports fetcherVersion). Set to 2 to enable packument caching, which fixes builds for projects using npm workspaces.

  • Added dell-bios-fan-control package and service.

  • Added lovr package, a LUA-based game engine for VR and XR applications.

  • Updated wsjtx from 2.7.0 to 3.0.0 for amateur radio hobbyists who use FT8 and other related digital modes. See the release notes for the changelog.

  • openrgb was updated to 1.0rc2, which now uses Plugin API version 4. Some existing OpenRGB plugins may be incompatible or require updates.

  • wrapNeovimUnstable now sets provider-related configuration in its generated config rather than as wrapper arguments. It should not affect configuration unless you set wrapRc to false or are using the legacyWrapper.

  • neovim lua dependencies are now set in the generated init.lua instead of modifying LUA_PATH in the wrapper. Commands run pre-vimrc via nvim --cmd "require'LUA_MODULE'" may not find their lua dependencies anymore. Use nvim -c "lua require'LUA_MODULE'" instead to run these commands after loading init.lua. If you use wrapNeovim with wrapRc set to false, you may lose the lua dependencies if you are not loading the generated init.lua.

  • We now use the upstream wrapper script for Gradle, supporting both the JAVA_HOME and GRADLE_OPTS environment variables.

  • the autossh-ng NixOS module was introduced as a simpler alternative to the existing autossh module.

  • Added haskell.packages.microhs, a set of Haskell packages built with MicroHs.

  • gnuradio: Overriding the .pkgs package set is now possible with a packageOverrides function, like with python.pkgs and other language-specific package sets. Example:

gnuradioMinimal.override {
  packageOverrides = grSelf: grSuper: {
    osmosdr = grSuper.osmosdr.override {
      airspy = null;
      hackrf = null;
      libbladeRF = null;
      soapysdr-with-plugins = null;
    };
  };
}
  • Added headplane and headplane-agent packages, and services.headplane service.

Nixpkgs Library

Breaking changes

  • The nodejs_latest alias now points to nodejs_26 instead of nodejs_24.

  • nodejs-slim no longer exposes a corepack executable, it has been moved to an ad-hoc output; to restore the previous behavior, nodejs-slim.corepack must be explicitely included.

  • nodejs is now a simple wrapper for nodejs-slim+nodejs-slim.npm+nodejs-slim.corepack, meaning it is no longer possible to reference or override its attributes or outputs (e.g. nodejs.libv8 must be replaced with nodejs-slim.libv8, nodejs.nativeBuildInputs with nodejs-slim.nativeBuildInputs, etc.).

  • navidrome has removed the built-in Spotify integration https://github.com/navidrome/navidrome/releases/tag/v0.61.0 has details on optional replacements

  • mold is now wrapped by default.

  • The neovim package and module now disable by default the python3 and ruby providers, unused by most users and reducing closure size from 365MiB to 240MiB. Host provider executables are not exposed anymore along with the neovim wrapper. You can still refer to those using the neovim provider variables (e.g., python3_host_prog).

  • canokey-qemu support for qemu was restored (although disabled by default), after being marked as broken since nixpkgs 25.11. Please note that the format of canokey files has changed, and that some data created with older canokey-qemu release cannot be read by the current version. See the documentation for details.

Deprecations

  • mpv-unwrapped.scripts and mpv-unwrapped.wrapper have been removed. Please use mpvScripts and mpv.override accordingly.

  • fetchFromSavannah is now deprecated and is expected to be fully removed in a future release. From now on, use fetchgit or a Savannah releases mirror when applicable.

Additions and Improvements

  • The builder php.buildComposerProject2 for PHP applications has been improved for better reliability and stability.

  • The services.drupal module has a few improvements aimed at making it better for installing custom Drupal instances, namely a new webRoot option for identifying custom webroots in source code, a new configRoot option for identifying and synchronizing config yamls onto NixOS, and a some new settings for managing variable content and filepaths.