Выпуск дистрибутива NixOS 20.03, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Nix

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск дистрибутива NixOS 20.03, основанного Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Nix ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ряд собствСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… настройку ΠΈ сопровоТдСниС систСмы. НапримСр, Π² NixOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» систСмной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (configuration.nix), прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстрого ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, присутствуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ состояниями систСмы, поддСрТиваСтся установка ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ (ΠΏΠ°ΠΊΠ΅Ρ‚ ставится Π² домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° одноврСмСнная установка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, обСспСчСны воспроизводимыС сборки. Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ установочного ΠΎΠ±Ρ€Π°Π·Π° с KDE — 1.2 Π“Π±, сокращённого консольного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° — 540 Мб.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² дистрибутива, Π² Ρ‚ΠΎΠΌ числС ядро Linux 5.4 (Π±Ρ‹Π»ΠΎ 4.19),
    gcc 9.2.0,
    glibc 2.30,
    mesa 19.3.3,
    openssl 1.1.1d,
    PostgreSQL 11, OpenSSH 8.1.

  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ столы ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ KDE 5.17.5 (+ KDE Applications 19.12.3),
    GNOME 3.34 ΠΈ Pantheon 5.1.3 (ΠΈΠ· Elementary OS). ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Pantheon Ρ‡Π΅Ρ€Π΅Π· настройку services.xserver.desktopManager.pantheon.enable, автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ связанный с Π½ΠΈΠΌ экран ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π²Ρ…ΠΎΠ΄Π° Π² систСму.

  • Π’ графичСском инсталляторС послС установки обСспСчСн автоматичСский запуск графичСского сСанса (Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ консольноС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ «systemctl start display-manager» Ссли Π½ΡƒΠΆΠ΅Π½ графичСский интСрфСйс). Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ запуска экранного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Π² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ΅ мСню Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡƒΠ½ΠΊΡ‚ «Disable display-manager».
  • Для ZFS-ΠΏΡƒΠ»ΠΎΠ² обСспСчСн Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ запуск ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ TRIM для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ NVME ΠΈ SSD (настройка services.zfs.trim.enable). Если ZFS присутствуСт Π² настройкС config.boot.initrd.supportedFilesystems ΠΈΠ»ΠΈ config.boot.supportedFilesystems Ρ‚Π°ΠΊΠΆΠ΅ производится пСриодичСский запуск ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ (services.zfs.autoScrub.enable) ΠΈ автоматичСского создания ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² (services.zfs.autoSnapshot.enable).
  • Код nixos-option пСрСписан Π½Π° языкС C++ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ «-r» для Π²Ρ‹Π²ΠΎΠ΄Π° всСх настроСк.
  • Настройки services.xserver.desktopManager.default ΠΈ services.xserver.windowManager.default Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ services.xserver.displayManager.defaultSession (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, services.xserver.displayManager.defaultSession = «xfce+icewm»).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 46 Π½ΠΎΠ²Ρ‹Ρ… сСрвисов.
  • ΠžΠ±Ρ€Π°Π·Ρ‹ для SD-ΠΊΠ°Ρ€Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сТаты ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ bzip2.

ΠŸΡ€ΠΈ использовании Nix ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ /nix/store ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. НапримСр, ΠΏΠ°ΠΊΠ΅Ρ‚ устанавливаСтся ΠΊΠ°ΠΊ /nix/store/f2a4…8a143-firefox-75.0.0/, Π³Π΄Π΅ «f2a4…» являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для контроля зависимостСй. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², содСрТащих Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.
Аналогичный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ примСняСтся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ GNU Guix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Π½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… Nix.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ зависимостСй, ΠΏΡ€ΠΈ этом для поиска наличия ΡƒΠΆΠ΅ установлСнных зависимостСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сканированиС Ρ…ΡΡˆΠ΅ΠΉ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· рСпозитория (ΠΏΡ€ΠΈ установкС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΊ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ delta-измСнСния), Ρ‚Π°ΠΊ ΠΈ сборка ΠΈΠ· исходных тСкстов со всСми зависимостями. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² прСдставлСна Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Nixpkgs.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru