Jump to content

Nix 生態系統

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

「核心 Nix 生態」是一套技術集合,旨在可重現的方式建立、宣告式配置與管理套件、系統及其相依性。它透過將程式從函數模式轉換成可被系統領域運用的動態、函數式且具備延遲求值特性的領域特定語言 —— Nix 語言,專門用於可重現的方式建立。

此外,有許多其他的 應用程式 (延伸 Nix 生態系統) 由 Nix 社群所開發、使用及支持的核心科技。

官方生態系統

Core Components of the Nix Ecosystem
零件 (Component) 手冊 說明 用途 授權協定 (License)
NixOS NixOS 手冊 一個完全由 Nix 構成 Linux 發行版,因此支持可重建的宣告式系統級設定管理,同時也支持原子升級 (atomic upgrade) 和回滾 (rollback)。 宣告式設定的桌面電腦、伺服器和叢集 MIT
Nixpkgs Nixpkgs 手冊 由社群維護最大的 Nix 軟體套件和 NixOS 模組的軟體庫;標準釋出的 NixOS 也在此。 分享 Nix 轉體套件 & NixOS 模組 MIT
Hydra Hydra 手冊 基於 Nix 的持續修建系統 (continuous build system)。 CI 建立叢集 GPL-3.0
Nix Nix 手冊 一個軟體套件管理器會分析 Nix 表達式專門用於可重複的建立,並將結果放在店的地址上,包含依賴套件樹的雜湊,避開套件相依性地獄和支援多版本安裝和回朔。 在 Linux & Darwin 中,可重現的建立及套件管理 LGPL-2.1
NixOS 核心生態結構
NixOS

一個由 Nixpkgs 建成的 Linux 發行版及可設定的系統。

Nixpkgs

一個龐大,由社群維護的軟體套件庫

Hydra

一個利用 Nix 建立的持續性修建系統。

Nix

一個完全函式化建立的系統。

NixOS 用途

用戶安裝 NixOS 在他們的電腦中,就如同任何其他 Linux 發行版。 他們閱讀關於 Nixpgs 中的欲安裝軟體及設定選項在 https://search.nixos.org 和此維基中. 他們使用 Nix 語言在一個文件中宣告哪些軟體要被安裝,系統要如何設定。 他們在終端機中使用兩個命令列程式,將整個系統轉換成描述式系統 (described system),然後他們就能使用這個系統如同其他 Linux 系統。

部屬 NixOS

NixOS 開發者主要專注於 Nixpkgs,並以 Nix 語言在文件中描述軟體該如何被安裝。在同儕的審視後 ,這些修改將被嵌入至 Nixpkgs 中。 其中,有些軟體在 Hydra 預製,用於減少 NixOS 用戶的更新時間。