Jump to content

Nix 生態系統

From NixOS Wiki
Revision as of 19:47, 28 August 2025 by Weijia (talk | contribs) (Created page with "== NixOS 的使用方式 == 用户可以像安装其他 Linux 发行版一样,将 ''NixOS'' 发行版安装到他们的电脑上。他们通过 https://search.nixos.org 和本维基查阅有关 ''Nixpkgs'' 中可安装的软件包和配置选项的信息。他们使用 ''Nix'' 语言以声明式的方式,在一个文本文件中描述应该安装哪些软件包以及如何配置系统。然后,他们在终端中运行两个命令行程序,将系统转变为所描...")

Nix 核心生態系統是一組技術的集合,旨在以可復現的方式構建、聲明性地配置和管理軟體包、系統及其依賴項。它通過將函數式編程範式從程序領域擴展到系統領域來實現這一目標,並使用一種動態的、函數式的、惰性求值的領域特定語言(DSL),即 Nix 語言,來指定可復現的構建過程。

此外,還有許多由 Nix 社區開發的應用程式Nix 擴展生態系統)利用並支持了這些核心技術。

官方生態系統

Nix 生態系統核心組件
組件 手冊(Manual) 描述 用途 協議
NixOS NixOS 手冊 一個由 Nix 構建所有組件的 Linux 發行版,因此支持可重現的、聲明式的全系統配置管理以及原子升級和回滾。 聲明式配置桌面、伺服器和集群。 MIT
Nixpkgs Nixpkgs 手冊 最大的社區維護的 Nix 軟體包和 NixOS 模塊倉庫,NixOS 的標準版本也託管在這裡。 分享 Nix 軟體包和 NixOS 模塊 MIT
Hydra Hydra 手冊 基於 Nix 的持續構建系統 持續構建集群 GPL-3.0
Nix Nix 手冊 一款軟體包管理器,能解析指定可重現構建的 Nix 表達式,並將結果與依賴關係樹的哈希值一起放入存儲地址,從而避免依賴關係地獄,並支持多版本安裝和回滾。 Linux 和 Darwin 中的可重現構建和軟體包管理 LGPL-2.1
Nix 核心生態系統技術棧
NixOS

一個用 Nixpkgs 構建的 Linux 發行版和配置系統

Nixpkgs

一個巨大的,社區維護的軟體倉庫

Hydra

一個基於 Nix 的持續構建系統

Nix

一個純函數式的構建系統

NixOS 的使用方式

用戶可以像安裝其他 Linux 發行版一樣,將 NixOS 發行版安裝到他們的電腦上。他們通過 https://search.nixos.org 和本維基查閱有關 Nixpkgs 中可安裝的軟體包和配置選項的信息。他們使用 Nix 語言以聲明式的方式,在一個文本文件中描述應該安裝哪些軟體包以及如何配置系統。然後,他們在終端中運行兩個命令行程序,將系統轉變為所描述的系統。此後,他們像使用任何其他 Linux 系統一樣使用該系統。

Development of NixOS

Developers of NixOS mainly work on Nixpkgs to describe in text files in Nix language how software packages should be build. After peer review these changes are integrated in Nixpkgs. Some of these packages are pre built on Hydra to reduce the update time for NixOS users.