Экосистема Nix

From NixOS Wiki
Revision as of 12:44, 22 July 2024 by Unabomberlive (talk | contribs) (Created page with "{| style="max-width: 36rem; margin: auto;" |+'''Основной стек экосистемы NixOS''' |style="text-align: center; border: 1px solid #ddd; background: #fafafa; padding: 1.6rem" width="2%"| <div style="font-size: 1.3em; font-weight: bold">NixOS</div> Дистрибутив Linux и система конфигурирования, построенная с использованием Nixpkgs ! |- |style="text-align: center; border: 1px solid #ddd; backgro...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Экосистема 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.