took place Production of the distribution nixos 21.11 Founded on the package manager nix and providing a number of own developments that simplify the setting and maintenance of the system. For example, the Nixos uses a single system configuration file (configuration.nix), it is possible to quickly roll back updates, there is a switching support between different states of the system, the installation of individual packages is supported by individual users (the packet is installed in the home directory), it is possible to simultaneously install multiple versions of one program , reproduced assemblies are provided. The size of the full the setting image with KDE 1.6 GB, GNOME – 2 GB, a short-range console option – 765 MB.
Basic innovations :
- KDE PLASMA Desktop is transferred by default to use Wayland protocol. Updated GNOME 41 and Pantheon 6 (((from Elementary OS 6).
- Instead of IPTables, the IPTables-NFT set is involved, which provides utilities with the same command line syntax, but broadcast the rules received to the NF_TABLES bytecode.
- updated versions of SystemD 249, PHP 8.0, Python 3.9, PostgreSQL 13, Bash 5, OpenSSH 8.8p1.
- Significantly improved support for the LXD Container Management System. Implemented the ability to build images for LXD from configuration files using NIXPKGS. The Nixos image assembly with full support for NIXOS-Rebuild, which can be used is separately.
- Added more than 40 new services, including Git, BTRBK (BTRFS backup), Clipcat, Dex (OAUTH 2.0 Provider), Jibri (service for recording conferences JITSI MEET), KEA (DHCP server), Owncast (Stregnation Video), Peertube, UCARP (CARP), OpenSnitch (Dynamic Firewall), HockeyPuck (OpenPGP Key Server), MeshCentral (Analog TeamViewer), InfluXDB2 (Metric Storage DBMS), Fluidd (Web Interface for Management 3D printer), PostFixadmin (web-interface for managing postfix database), seafile (cloud storage platform).
When using the NIX packets are installed in a separate directories / Nix / Store tree or subdirectory in the user directory. For example, the package is set as /Nix/store/a2B5…8B163-FIREFOX-94.0.2/, where “A2B5 …” is a unique package identifier used to control dependencies. Packages are made in the form of containers containing the components necessary for the applications.
A similar approach is applied in the GNU GUIX batch manager, which is based on NIX.
Between the packages, it is possible to define dependencies, while to search for the presence of already installed dependencies uses the scanning of hash identifiers in the directory of the installed packages. It is possible how to download ready-made binary packages from the repository (only DELTA-changes are downloaded to the binary packages when installing the binary packages) and the assembly of source texts with all dependencies. Collection of packages is presented in a special repository nixpkgs .