The NixOS developers have released NixOS 26.05 «Yarara» — another stable version of the distribution built around a declarative system configuration and the Nix package manager. This release will receive bug fixes and security updates until December 31, 2026, and the previous branch NixOS 25.11 «Xantusia» has been deprecated and will reach its end of support on June 30, 2026.
The release was prepared by 2842 developers, who contributed 59,703 commits since the previous release. Nixpkgs has added 20,442 new packages, updated 20,641 packages, removed 17,532 outdated packages. NixOS itself has introduced 85 new modules and 1,547 new configuration parameters.
Key changes
Stage 1/initrd now works on systemd by default.
The early boot stage responsible for preparing the system before the main OS starts has been transitioned to systemd. The old script-based option has been deprecated and is scheduled for removal in NixOS 26.11. It is temporarily possible to revert to the previous behavior via boot.initrd.systemd.enable = false, but developers do not recommend this approach. For systems with LUKS disks, nuances of migration are described separately, including the correct specification of /dev/mapper/ and changing the behavior of the passphrase prompt.system.nix has been added as an alternative entry point for configuration.
In addition to the familiar configuration.nix and flake.nix, system.nix can now be used. This allows configuring NixOS without a nix-channel, for example with a pinned Nixpkgs archive. By default, the file is searched for as /etc/nixos/system.nix, but the path can be changed via , --file, and --attr.The Linux kernel has been updated by default from 6.12 to 6.18.
At the same time, other supported kernel branches remain available as before: users can select the desired version via NixOS configuration.D-Bus has been replaced by default with dbus-broker.
Instead of the classic dbus implementation, dbus-broker is now used, which is positioned as more efficient and reliable while maintaining compatibility with the reference D-Bus implementation. Switching implementations requires a reboot, as safely restarting D-Bus during a user session is not possible. If necessary, the old implementation can be retained via services.dbus.implementation = "dbus".The NixOS test driver has received a backend on systemd-nspawn.
Integration tests can now run not only in QEMU-VM but also in systemd-nspawn containers. This should speed up tests and reduce resource consumption where full virtualization is not needed. the virtual machine Additionally, the ability to test GPU/CUDA loads is highlighted by bind-mounting host device nodes inside the containers.Key components of Nixpkgs have been updated.
GCC has been updated from 14 to 15, and Node.js by default from 22 LTS to 24 LTS, Ruby from 3.3 to 3.4. For GCC and Node.js, the developers separately warn of potential backward-incompatible changes.GNOME has been updated to version 50 'Tokyo'.
The release includes GNOME 50, which features improvements in accessibility, display handling, and other desktop environment changes.The latest Nixpkgs release with x86_64-darwin support.
Nixpkgs 26.05 will be the last release with support for Intel macOS. Binary builds and platform support will continue until the end of the 26.05 lifecycle, but in 26.11 builds for x86_64-darwin and support for building from source will be discontinued.
New modules
NixOS 26.05 has added many new modules for services and programs. Among the notable ones are:
- services.openthread-border-router — a module for the OpenThread Border Router, a gateway between Thread mesh networks and IP networks.
- programs.atuin — Atuin integration for synchronizing, searching, and backing up shell history.
- services.meshtasticd — support for Meshtastic, a decentralized mesh network for low-power devices.
- services.reaction — a daemon similar in purpose to fail2ban: analyzes program output and can block addresses on repeated authentication errors.
- services.vinyl-cache — a new module following the renaming of the Varnish Cache project to Vinyl Cache; the old services.varnish is still available for migration.
- services.rqbit — a BitTorrent client written in Rust with an HTTP API and web interface.
- services.tailscale.serve — declarative configuration for Tailscale Serve to publish local services on tailnet.
Modules have also been added for ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane, and several other services.
Changes for administrators and workstations
NVIDIA configuration has become more declarative.
The hardware.nvidia.branch parameter has been added to select the driver branch, the NixOS module coupling with the new nvidia-x11 package layout has been updated, and kernel module parameters can now be specified via hardware.nvidia.moduleParams, after which they are recorded in the modprobe configuration rather than being passed through the global kernel command line.Wine has been updated to branch 11.0.
For users running Windows applications and games via Wine, this means transitioning to the new major branch of Wine as part of the stable package set NixOS 26.05.ACME certificates have received dynamic renewal time.
If security.acme.defaults.validMinDays is not set, NixOS now calculates the renewal time based on the certificate's validity: for regular certificates, renewal occurs after two-thirds of the lifespan, and for short-lived ones — after half of the term.OpenSSH has received new parameters.
You can now generate host keys with services.openssh.generateHostKeys = true, even if the SSH server itself is not enabled. This is useful for systems needing SSH host keys for other tasks, such as agenix or sops-nix. The parameter services.openssh.enableRecommendedAlgorithms has also been added, allowing you to opt out of the algorithm set recommended by NixOS.Nextcloud updates to v33 by default for new systems.
For configurations with system.stateVersion >= 26.05, pkgs.nextcloud33 is used by default. Developers warn that direct upgrades from Nextcloud 31 or older versions to 33 are not possible: you must first go through an intermediate version.Noisy logging of denied firewall connections has been disabled.
The parameter networking.firewall.logRefusedConnections now defaults to false, as on servers, internet-accessible systems, such messages can quickly fill the kernel ring buffer and push out more useful diagnostic information.glibc has been updated to 2.42.
The new version no longer makes the stack executable if the shared library requires it. Developers consider such cases an error and suggest fixing the build with -z,noexecstack or clearing the flag with patchelf —clear-execstack; globally enabling the old behavior is not recommended for security reasons.
NixOS 26.05 is a release with significant infrastructure changes: transitioning initrd to systemd, phasing out the old D-Bus by default, a new way to describe the system via system.nix, a major update of Nixpkgs, and preparation for the removal of deprecated platforms and modules.
Source: linux.org.ru
