distribution release , based on the package manager and providing a range of proprietary developments that simplify system configuration and maintenance. For example, NixOS uses a single system configuration file (configuration.nix), offers the ability to quickly roll back updates, supports switching between different system states, allows individual users to install custom packages (packages are placed in the home directory), enables simultaneous installation of multiple versions of the same program, and ensures reproducible builds. The total size with KDE is 1.2 GB, the shortened console version is 540 MB.
Key :
- The versions of the distribution components have been updated, including the Linux kernel 5.4 (was 4.19),
gcc 9.2.0,
glibc 2.30,
mesa 19.3.3,
openssl 1.1.1d,
PostgreSQL 11, OpenSSH 8.1. - The desktops have been updated to KDE 5.17.5 (+ KDE Applications 19.12.3),
GNOME 3.34, and Pantheon 5.1.3 (from Elementary OS). When Pantheon is enabled via the setting services.xserver.desktopManager.pantheon.enable, the related login screen is automatically activated. - In the graphical installer, an automatic launch of the graphical session is ensured after installation (previously, a console prompt was displayed suggesting to run "systemctl start display-manager" if a graphical interface was needed). To disable the launch of the display manager, a "Disable display-manager" option has been added to the boot menu.
- For ZFS pools, a weekly TRIM operation is scheduled for NVMe and SSD drives (configured via services.zfs.trim.enable). If ZFS is included in the config.boot.initrd.supportedFilesystems or config.boot.supportedFilesystems settings, periodic checks (services.zfs.autoScrub.enable) and automatic creation of snapshots (services.zfs.autoSnapshot.enable) are also performed.
- The nixos-option code has been rewritten in C++ and expanded with the "-r" option for outputting all settings.
- The settings services.xserver.desktopManager.default and services.xserver.windowManager.default have been replaced with the universal option services.xserver.displayManager.defaultSession (for example, services.xserver.displayManager.defaultSession = "xfce+icewm").
- Added .
- Default images for SD cards are compressed using bzip2.
With Nix, packages are installed in a separate directory tree /nix/store or a subdirectory in the user's directory. For example, a package is installed as /nix/store/f2a4…8a143-firefox-75.0.0/, where «f2a4…» is a unique package identifier used for dependency management. Packages are structured as containers that include all the components necessary for running applications.
A similar approach is used in the GNU Guix package manager, which is based on Nix's concepts.
Dependencies can be defined between packages, with already installed dependencies being identified through scanning hash identifiers in the directory of installed packages. Both ready-made binary packages from the repository can be downloaded (only delta changes are downloaded for updates to binary packages), as well as compilation from source texts with all dependencies included. The collection of packages is presented in a special repository. .
Source: opennet.ru
