Vyšel NixOS 20.03
NixOS, který vyšel 20. dubna ve verzi 20.03 s kódovým označením Markhor, je v mnoha ohledech úplně jiné distro, než všechna ostatní. Je založené na balíčkovacím systému Nix a striktně deklarativním konfiguračnímu modelu.
Balíčkovač Nix je poměrně unikátní v tom, že instaluje balíčky kompletně izolované jeden od druhého či dokonce izoluje navzájem různé verze stejného balíčku nebo uživatelské instalace téhož balíčku. Balíčky nejsou instalovány do tradičních míst jako /usr/bin
, /usr/local/bin
, atd. ale každý do vlastního adresáře v /nix/store
(například /nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-33.1/
) a to včetně kompletních závislostí. Je tak odstraněna byť jen teoretická možnost ovlivnění jednoho balíku druhým prostřednictvím navzájem sdílených knihoven v různých verzích, čili dlouholetým uživatelům linuxových systémů jistě dobře známý „dependency hell“. Jelikož každý balík si nese s sebou vše, co potřebuje, není nutné sahat do systémových složek a instalaci může provádět i běžný uživatel bez root oprávnění - jen si vše instaluje do svého /home. Aktualizace jsou atomické, neovlivňují již nainstalované jiné verze týchž balíků a lze na nich tudíž provádět rollback bez rizika možné nekonzistence.
Konfigurace naprosto všeho v systému jsou deklarativně zapsány pomocí funkcionálního jazyka. Platí to i pro systém samotný, do /etc/nixos/configuration.nix
si zapíšete jak má váš budoucí systém vypadat, spustíte Nix a on vám tak systém poskládá - stáhne, přeloží, umístí na správná místa, nakonfiguruje a to bez ohledu na to, jak systém vypadal předtím. O aktualizacích celého systému pak platí totéž, co u jednotlivých balíčků.
Za těch více než dvacet let, co Linux používám, jsem se sám už s problémy, které NixOS adresuje, setkal více než párkrát. Na soukromých počítačích jsem to většinou vyřešil tak, že nepoužívám distribuce, které by řešily závislosti a vše dělám manuálně. Je to sice časově náročné, ale zase to alespoň člověka přiměje věnovat se tomu, co dělá a dávat si pozor. S NixOS bych ušetřil jak čas, tak starosti.
Na závěr - jen pro pořádek - k aktuální verzi:
- Používá kernel 5.4.
- Jako výchozí desktop je KDE Plasma ve verzi 5.15.5, v distribuci najdete i Gnome 3.34 a Pantheon 5.1.3.
- GCC je ve verzi 9.2.0, glibc 2.30, openssl 1.1.1d.
Více informací o NixOS i balíčkovači Nix najdete na webu projektu. Tamtéž najdete i release notes a live DVD pro x86_64 a obrazy minimálních instalačních médií pro x86/x86_64.