The NixOS 25.11 distribution has been released, based on the Nix package manager and providing its own tools to simplify system configuration and maintenance. In NixOS, all system configurations are managed through a single configuration file, configuration.nix. It offers the ability for quick rollbacks to previous configuration versions and switching between different system states. Individual users can install specific packages, and multiple versions of the same program can be used simultaneously. Reproducible builds are ensured. Installation images with a graphical environment (3.6 GB) and a minimal console version (1.5 GB) have been prepared for x86_64 and ARM64 architectures.
When using Nix, the result of package builds is stored in a separate subdirectory in /nix/store. For example, after building the Firefox package, it may be recorded in /nix/store/8onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ed5c4-firefox-145.0.1/, where "8onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ed5c4" is the hash of all its dependencies and build instructions. Installing a package involves either building it or downloading it already built (provided it has been built on Hydra — the NixOS project's build service), as well as creating a directory with symbolic links to all packages in the system or user profile, followed by adding this directory to the PATH list. A similar approach is used in the GNU Guix package manager, which is based on Nix's developments. The collection of packages is available in a dedicated repository, Nixpkgs.
Key innovations:
- A total of 7002 packages have been added, 6338 packages removed, and 25252 packages updated. 107 new modules and 1778 configuration options have been added, while 807 options and 41 modules have been removed. The development and maintenance of packages involved 2742 developers, who prepared 59430 changes.
- Among the new modules are the composition manager dwl, the firewall FirewallD, the tunneling reverse proxy Pangolin, the ad blocker Pi-hole, the torrent client qBittorrent, the rsync utility, the microblogging platform Sharkey, the TuneD service, the Matrix server tuwunel, the VNC server wayvnc, and the key configurator yubikey-manager.
- The nixos-init initialization system has been added, which initializes the system during boot and configures the environment for starting systemd. The nixos-init code is written in Rust and is not tied to bash. With nixos-init, it is possible to create trimmed-down NixOS environments delivered without command shells, perl, python, and other interpreters.
- The release of GNOME 49 desktop environment is proposed, which has discontinued the delivery of the X11 session (X11 applications can be run using XWayland). Components of systemd are involved in managing services within gnome-session.
- A beta version of the COSMIC user environment has been added.
- LLVM 21 toolkit and CMake 4 build system have been updated. GCC is left on the 14.x branch.
- Support for the firewalld firewall has been added, implemented as a wrapper over the nftables packet filter, supporting rule modification via D-Bus. FirewallD can run as a standalone service services.firewalld or as a backend exposed through the 'networking.firewall' configuration (a 'backend' option has been added to 'networking.firewall' to change the backend).
- The nixos-rebuild-ng toolkit is enabled by default, a version of nixos-rebuild completely rewritten in Python. A setting 'system.rebuild.enableNg' is proposed for disabling it, but it is planned to be removed in the next release.
- rEFInd has been added, a graphical boot manager for UEFI systems (enabled through the boot.loader.refind.enable setting).
- Support for UEFI Secure Boot has been enabled for the Limine bootloader (boot.loader.limine.secureBoot.enable). A digital signature is created by the bootloader installation script, and hashes for kernel integrity checking are generated during system rebuilding. Practically, this new feature allows only the booting of kernels installed via NixOS.
- By default, the PostgreSQL 17 database management system branch is employed.
- The default delivery of the set of plugins in the module with NetworkManager has been discontinued. All VPN plugins must now be explicitly activated via the 'networking.networkmanager.plugins' configuration. VPNOutdated versions of KDE Gear, KDE Plasma, Maui, and Deepin that used Qt 5 have been removed. Upgrading to KDE Plasma 6.x and Gear 25.08 is recommended.
- The NixOS 25.11 distribution has been released, based on the Nix package manager and providing its own developments to simplify system configuration and maintenance.
Source: opennet.ru
