Экосистема Nix

From NixOS Wiki
This page is a translated version of the page Nix ecosystem and the translation is 100% complete.

Экосистема Core Nix - это набор технологий, предназначенных для воспроизводимой сборки и декларативного конфигурирования и управления пакетами и системами, а также их зависимостями. Это достигается путем переноса функциональной парадигмы из области программ в область систем с помощью динамического, функционального и ленивого DSL, называемого Nix Language для определения воспроизводимых сборок

Кроме того, существует множество других applications (Extended Nix Ecosystem), разработанных сообществом Nix, использующих и поддерживающих эти основные технологии.

Официальная экосистема

Основные компоненты экосистемы 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
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.