Nix 生態系統
Appearance
「核心 Nix 生態」是一套技術集合,旨在可重現的方式建立、宣告式配置與管理套件、系統及其相依性。它透過將程式從函數模式轉換成可被系統領域運用的動態、函數式且具備延遲求值特性的領域特定語言 —— Nix 語言,專門用於可重現的方式建立。
此外,有許多其他的 應用程式 (延伸 Nix 生態系統) 由 Nix 社群所開發、使用及支持的核心科技。
官方生態系統
零件 (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
一個由 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 用戶的更新時間。