The NixOS 22.11 distribution has been released, based on the Nix package manager, offering a number of proprietary developments that simplify system setup and maintenance. For example, in NixOS, all system configuration is handled through a single configuration file (configuration.nix), allowing for quick rollback to a previous system configuration, support for switching between different system states, installation of individual packages by separate users, the simultaneous use of multiple versions of the same program, and ensuring reproducible builds. The size of the full installation image with KDE is 1.7 GB, GNOME — 2.2 GB, and the minimal console version — 827 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, it may be located in /nix/store/1onlv2pc3ez4n5nskg7ew7twcfd0c5ce5ec5d4-firefox-107.0.1/, where "1onlv2pc3ez4n5nskg7ew7twcfd0c5ce5ec5d4" is a hash of all its dependencies and build instructions. Installing a package implies its build or downloading an already built one (if it has been previously built on Hydra — the NixOS project build service), along with the creation of a directory with symbolic links to all packages in the system or user profile, with this directory being added 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 Nixpkgs repository.
Key innovations:
- A total of 16,678 packages have been added, 2,812 packages removed, and 14,680 packages updated. Package versions have been updated, including GNOME 43, KDE Plasma 5.26, Cinnamon 5.4, OpenSSL 3, PHP 8.1, Perl 5.36, Python 3.10.
- The Nix package manager has been updated to version 2.11.
- 40 new services have been added, including dragonflydb, expressvpn, languagetool, OpenRGB.
- The system's memory shortage situations are now managed by systemd-oomd.
- The algorithm for hashing passwords has been changed to sha512crypt in the implementation of libxcrypt. Support for hashing algorithms marked as unreliable in libxcrypt will be discontinued in the 23.05 release.
- Documentation generation has transitioned to using markdown formatting.
- Support for the aarch64-linux architecture has been included in the main build channels nixos-22.11 and nixos-22.11-small. ISO images for Aarch64 have been proposed.
- As a replacement for nscd (name service cache daemon), nsncd has been proposed and will be used by default in NixOS version 23.05.
- An option for hardware.nvidia.open has been added to utilize the open kernel driver from NVIDIA.
Source: opennet.ru
