Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° 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