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

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

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

  • Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол KDE Plasma ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° использованиС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland. ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ столы GNOME 41 ΠΈ Pantheon 6 ( (ΠΈΠ· Elementary OS 6).
  • ВмСсто iptables задСйствован Π½Π°Π±ΠΎΡ€ iptables-nft, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ с Ρ‚Π΅ΠΌ ΠΆΠ΅ синтаксисом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π½ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ nf_tables.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмы управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ LXD. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки ΠΎΠ±Ρ€Π°Π·ΠΎΠ² для LXD ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ nixpkgs. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° сборка ΠΎΠ±Ρ€Π°Π·ΠΎΠ² nixOS с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ nixos-rebuild, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ обособлСнно.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 40 Π½ΠΎΠ²Ρ‹Ρ… сСрвисов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Git, btrbk (Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ btrfs), clipcat (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°), dex (ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ OAuth 2.0), Jibri (сСрвис для записи ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ Jitsi Meet), Kea (DHCP-сСрвСр), owncast (стриминг Π²ΠΈΠ΄Π΅ΠΎ), PeerTube, ucarp (рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° CARP), opensnitch (динамичСский мСТсСтСвой экран), Hockeypuck (сСрвСр ΠΊΠ»ΡŽΡ‡Π΅ΠΉ OpenPGP), MeshCentral (Π°Π½Π°Π»ΠΎΠ³ TeamViewer), influxdb2 (Π‘Π£Π‘Π” для хранСния ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ), fluidd (web-интСрфСйс для управлСния 3D-ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΌΠΈ), postfixadmin (web-интСрфСйс для управлСния ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ сСрвСром Π½Π° Π±Π°Π·Π΅ Postfix), seafile (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ…).

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

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

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