Nix — bu ishonchli va takrorlanadigan paketlarni boshqarish uchun moʻljallangan kuchli vosita (package manager), asosan Linux va boshqa Unix (masalan macOS)tizimlarida ishlatiladi. U paketlarni izolyatsiyada quradi, yaʼni bir paketni oʻrnatish yoki yangilash boshqalarni buzmaydi, versiyalarni orqaga qaytarish mumkin va dependency hell muammosini hal qiladi. Nix oʻziga xos deklarativ va sof funksional tilga asoslangan boʻlib, paketlar /nix/store da hash orqali saqlanadi, bu esa takrorlanuvchanlikni taʼminlaydi.
Qishloqcha qilib aytganda, oddiy misol projectizda bittasida nodejs v18 yana birida v22 turgan bo'lsa, siz katta extimol bilan fnm yoki nvm kabi version manager ishlatsangiz kerak, bunda bir projectdan boshqasiga o'tsangiz nvm use v18 yoki v22 qilib version almashtirasiz va to'liq device shu node version ni ishlatadi, nixni mantig'i shuni to'liq deviceda emas, izolatsiyalarngan qobiqda versiyani almashtirib ishlatish, bunda bu almashtirigan package version boshqa projectlarga hech qachon ta'sir qilmaydi.
NixOS bu to'liq nix tili asosida configuration qilinadigan Linux distributive.
/nix/store da alohida saqlanadi, shuning uchun versiya konfliktlari yuzaga kelmaydi.Biz bu qo'llanmada asosan nix package manageri bilan ishlaymiz.
# Nix package managerni o'rnatish macOS
$ sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install)
$ nix --version
versiyani ko'rsangiz ishlashi kerak bo'lmasa qayta urinib ko'ring.
va sizda endi nix package manageri bor.