The release of the NixOS 26.05 distribution has been announced, based on the Nix package manager and providing its own developments to simplify system configuration and maintenance. In NixOS, all system configuration is performed through a single configuration file, configuration.nix. There are capabilities for quickly rolling back the system to a previous configuration version 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 interface (3.7 GB) and a reduced console version (1.6 GB) are prepared for x86_64 and ARM64 architectures.
When using Nix, the build result of packages is stored in a separate subdirectory in /nix/store. For example, after building the package firefox, it may be recorded in /nix/store/8onlv1pc3ed6n5nskg6ad4twcfd0d5ae4ed5c4-firefox-151.0.2/, where "8onlv1pc3ed6n5nskg6ad4twcfd0d5ae4ed5c4" is the hash of all its dependencies and build instructions. Installing a package means building it or downloading it already built (provided it was previously built on Hydra — the NixOS project 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 presented in a special repository called Nixpkgs.
Key innovations:
- A total of 20,442 packages have been added, 17,532 packages have been removed, and 20,641 packages have been updated. 85 new modules and 1,547 configuration options have been added, while 355 options and 25 modules have been removed. A total of 2,842 developers participated in the development and maintenance of the packages, preparing 59,703 changes.
- Among the new modules are: OpenThread Border Router, knot-resolver, LibreChat, DankMaterialShell, mangowc, Tailscale, udp-over-tcp, turborepo-remote-cache, ReFrame, LogiOps.
- The content of the initial RAM disk (initrd) has been switched by default to use the system manager systemd. Support for the old implementation based on shell scripts has been deprecated and will be removed in the NixOS 26.11 release.
- The x86_64-darwin platform, which is no longer used by Apple, has been declared obsolete. Support and assembly of binary packages for this platform will continue until the end of the year.
- The GCC compiler set has been updated to branch 15. The LLVM toolkit remains on version 21. The standard library glibc has been updated to version 2.42.
- The GNOME desktop environment has been updated to branch 50, which has removed the code for X11 support, revamped the parental control interface, improved support for non-integer scaling levels and the VRR (Variable Refresh Rate) mechanism, and implemented Wayland protocol color-management-v2 for color management.
- The Budgie desktop environment has been updated to version 10.10, ported to Wayland.
- The default kernel proposed is Linux 6.18 (previously 6.12). Due to the lack of maintainers, the linux-rt kernel variant has been discontinued.
- A system.nix file has been added to allow configuring NixOS without using nix-channel.
- The implementation of D-Bus has been transitioned from dbus to the more efficient and stable dbus-broker package.
- Support for Reiserfs and ecryptfs file systems has been discontinued in Nixpkgs.
Source: opennet.ru
