Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° NixOS 22.05, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ Nix ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² NixOS Π²ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (configuration.nix), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ. Π Π°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Ρ KDE 1.7 ΠΠ, GNOME — 2.2 ΠΠ, ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° — 820 ΠΠ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Calamares, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠΎΠ² Π² ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
, ΠΊΠ°ΠΊ Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva ΠΈ KDE neon. ΠΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² iso-ΠΎΠ±ΡΠ°Π·Π°Ρ
Ρ GNOME ΠΈ KDE.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 9345 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ΄Π°Π»Π΅Π½ΠΎ 5874 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ 10666 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 89 Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ aesmd (Intel SGX Architectural Enclave Service Manager), rootless Docker (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Docker Π±Π΅Π· ΠΏΡΠ°Π² root), matrix-conduit (matrix-ΡΠ΅ΡΠ²Π΅Ρ), apfs (Apple File System), FRRouting (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ), snowflake-proxy (ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ΅Π½Π·ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ°), pgadmin4 (GUI Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ PostgreSQL), moosefs (ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ Π€Π‘), nbd (Network Block Device) Π£Π΄Π°Π»Π΅Π½ΠΎ 27 ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ»ΠΈ Π·Π°Π²ΡΠ·Π°Π½Π½ΡΡ Π½Π° Python2.
- ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Nix ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 2.8, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (flake). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° «nix fmt» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ «impure» Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ. ΠΠ»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «—file -«).
- ΠΠ°ΠΊΠ΅Ρ Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ Firefox Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86_64 ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° (PGO) Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ security.acme.defaults Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ².
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Nix ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² /nix/store. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ firefox ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, Π³Π΄Π΅ «1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4» ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ
Π΅ΡΠ΅ΠΌ Π²ΡΠ΅Ρ
Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΠ΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π΅Π³ΠΎ ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ» ΡΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½ Π½Π° Hydra — ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° NixOS), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ PATH. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ GNU Guix, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°Ρ
Nix. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Nixpkgs.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru