The release of the NixOS 23.11 distribution has been announced, based on the Nix package manager and offering a number of custom developments that simplify system configuration and maintenance. For example, in NixOS, all system settings are managed through a single configuration file (configuration.nix), allowing for quick rollbacks to previous configuration versions, support for switching between different system states, installation of individual packages by separate users, and simultaneous use of multiple versions of the same program, ensuring reproducible builds. The size of the full installation image with KDE is 2.5 GB, GNOME — 2.4 GB, and the minimal console variant — 990 MB.
When using Nix, the build result of packages is stored in a separate subdirectory in /nix/store. For example, after building, the firefox package may be located at /nix/store/1onlv6pc3ed4n5nskg8ew4twcfd0d5ce4ec5d4-firefox-120.0.1/, where "1onlv6pc3ed4n5nskg8ew4twcfd0d5ce4ec5d4" is the hash of all its dependencies and build instructions. Installing a package means either building it or downloading a pre-built version (provided it has already been 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 applied in the GNU Guix package manager, which is based on Nix's developments. The package collection is presented in a special Nixpkgs repository.
Key innovations:
- Added 9147 packages, removed 4015 packages, and updated 18700 packages.
- 49 new services have been added, including the Wayfire compositing window manager, LibreNMS monitoring system, Apache Guacamole remote desktop gateway, systemd-sysupdate, ferretdb, NNCP, virt-manager, and preload.
- The desktop has been updated to GNOME 45, which features a dynamic indicator in the panel, virtual desktops, enhanced system search performance, added a camera activation indicator, utilized hardware acceleration for video playback, replaced the image viewer and camera application, modified the sidebar display style, and updated to GTK 4.12 and libadwaita 1.4 libraries.
- The default version of LLVM has been updated to release 16 (previously LLVM 11 was offered).
- Updated systemd 254, glibc 2.38, PostgreSQL 15, and FoundationDB 7.
- Support for Wi-Fi 6 (IEEE 802.11ax) has been ensured. The WPA3-SAE-PK mode has been included in hostapd.
- Support has been added in LXD of virtual machines, in addition to containers.
- The command list-generations has been implemented in the nixos-rebuild utility.
- Support for sudo-rs, an implementation of the sudo utility in Rust, has been added.
Source: opennet.ru
