Экосистема Nix
Экосистема Core Nix - это набор технологий, предназначенных для воспроизводимой сборки и декларативного конфигурирования и управления пакетами и системами, а также их зависимостями. Это достигается путем переноса функциональной парадигмы из области программ в область систем с помощью динамического, функционального и ленивого DSL, называемого Nix Language для определения воспроизводимых сборок
Кроме того, существует множество других applications (Extended Nix Ecosystem), разработанных сообществом Nix, использующих и поддерживающих эти основные технологии.
Официальная экосистема
Компонент | Руководство | Описание | Используйте | Лицензия |
---|---|---|---|---|
NixOS | NixOS Manual | Дистрибутив Linux со всеми компонентами, собранными Nix, и, таким образом, поддерживающий воспроизводимое и декларативное управление конфигурацией всей системы, а также атомарное обновление и откат. | Декларативная конфигурация настольных компьютеров, серверов и кластеров | MIT |
Nixpkgs | Nixpkgs Manual | Крупнейший поддерживаемый сообществом репозиторий пакетов Nix и модулей NixOS; здесь размещаются стандартные выпуски NixOS. | Распространение пакетов Nix и модулей NixOS | MIT |
Hydra | Hydra Manual | Система непрерывной сборки на базе Nix. | Фермы сборки CI | GPL-3.0 |
Nix | Nix Manual | Менеджер пакетов, который анализирует выражения Nix, указывающие на воспроизводимую сборку, помещая результат в адрес хранилища с хэшем дерева зависимостей, обходя ад зависимостей и поддерживая многоверсионную установку и откат. | Воспроизводимые сборки и управление пакетами в Linux и Darwin | LGPL-2.1 |
NixOS
Дистрибутив Linux и система конфигурирования, построенная с использованием Nixpkgs |
|
Nixpkgs
Большой, поддерживаемый сообществом репозиторий пакетов |
Hydra
Система непрерывной сборки, построенная на базе Nix |
Nix
Чистая и функциональная система сборки |
Использование NixOS
Пользователи устанавливают дистрибутив NixOS на свои компьютеры так же, как и любой другой дистрибутив Linux. Они читают о пакетах для установки и параметрах конфигурации в Nixpkgs на сайте https://search.nixos.org и в этой вики. Они используют язык Nix, чтобы декларативно описать в текстовом файле, какие пакеты программ должны быть установлены и как должна быть настроена система. Они запускают 2 программы командной строки в терминале, чтобы преобразовать систему в описанную систему. Они используют систему как любую другую систему Linux.
Разработка NixOS
Разработчики NixOS в основном работают над Nixpkgs, чтобы описать в текстовых файлах на языке Nix, как должны быть собраны программные пакеты. После экспертной оценки эти изменения интегрируются в Nixpkgs. Некоторые из этих пакетов предварительно собираются на Hydra, чтобы сократить время обновления для пользователей NixOS.