應用程式
Appearance
⤟︎
This article or section is a candidate for merging with Nix ecosystem. While the scopes are different, an article with the "official tools" as its first section and "built with nix" as a further section under it may be much more fitting. Further information may be found in the relevant discussion page.
本文列出了專為 Nix 構建或基於 Nix 開發的應用程式;這構成了所謂的擴展 Nix 生態系統的清單(關於核心 Nix 生態系統,請參閱 Nix 生態系統)。
如果您正在尋找 Linux 軟件/應用程式,您應該查看 軟件。
非 NixOS 發行版
基於 Nix 構建的各類應用程式包括:
- not-os - 為嵌入式設備構建系統固件
基於 Nix 構建
利用 Nix 的項目。
- styx - 基於 Nix 表達式語言的靜態網站生成器
- bionix - 生物信息學流水線(pipeline)管理與執行工具
- ethereum.nix - 一套 Nix 軟件包與 NixOS 模塊,旨在簡化以太坊相關服務及基礎設施的運維
- nixos-mailserver - 簡單易用且功能完備的 NixOS 郵件伺服器
Nix 平台
為 Nix 增加支持(例如針對額外平台或主要功能)的項目。
- nix-darwin - 適用於 Darwin 的 NixOS 模塊
- musnix - 適用於 NixOS 的實時音頻模塊
- nixGl - 用於在 NixOS 之外運行 OpenGL 應用程式的包裝器
Nix 工具
專為 Nix 生態系統構建的各類工具(例如對 Nix 核心工具的增強或替代方案)。
常規配置
- home-manager - 使用 Nix 管理用戶環境的系統
- plasma-manager - 使用 Home-manager 管理 KDE Plasma
- Nixvim - 基於 Nix 模塊構建的 Neovim 發行版
- nvf - 模塊化、可擴展且可移植的 Neovim 配置框架
Flakes
- deploy-rs - Nix Flake 部署工具
- flake-utils-plus - Flake 模板與輔助庫(是對下方 flake-utils 的擴展)
- flake-utils - 一組用於構建 Flake 的實用函數
- flake-parts - 利用模塊系統簡化 Nix Flakes
- snowfall - 基於 Nix Flakes,為系統、軟件包、模塊、Shell 環境、模板等提供統一配置方案。
歸檔
- narfuse - 用於將 Nix 歸檔 (NAR) 文件掛載為虛擬 Nix 存儲的 FUSE 文件系統
集群管理
- nix-delegate - 用於分布式 Nix 構建的便捷工具
差異對比
- nix-diff - 比較 Nix 推導(derivations)
- niff - 比較兩個 Nix 表達式以確定哪些屬性發生了變化
- nvd - Nix/NixOS 軟件包版本差異比較工具
- lix-diff - Nix/NixOS 閉包差異比較工具
依賴分析
- nix-tree - Nix derivation 的交互式依賴瀏覽工具
- nix-visualize - 將指定軟件包的依賴關係可視化為圖表
- npins - 用於管理 Nix 項目中各類依賴的簡單工具
- niv - 實現 Nix 項目依賴管理的便捷工具
- Nixtamal - 實現 Nix 輸入鎖定的工具
Nix 語言工具
語言伺服器
靜態分析 / 代碼檢查工具
- deadnix - 移除 .nix 文件中的無用代碼
- statix - Nix 編程語言的代碼檢查工具與建議工具
- nixf-diagnose - 代碼檢查工具 —— nixf-tidy(屬於 nixd 項目)的命令行封裝
格式化工具
軟件包維護
- nix-update - 更新 Nix 軟件包的瑞士軍刀式工具。
- nixpkgs-review - 審查 nixpkgs 的拉取請求。
- nix-init - 根據 URL 生成 Nix 軟件包。
- nixpkgs-hammering - 強制執行一系列嚴苛規則,旨在指出並解釋 nixpkgs 軟件包拉取請求中的常見錯誤。
調試
- dwarffs - 自動從 cache.nixos.org 獲取供 gdb 使用的 DWARF 調試信息文件
- nixseparatedebuginfod - 獲取供 gdb 等支持 debuginfod 的工具使用的調試符號和源文件
搜索工具
- nix-index - 快速定位包含特定文件的 Nix 軟件包
- nix-du - 找出 Nix 存儲中佔用磁盤空間的 GC 根(gc-roots)
- nix-info - 類似於 Homebrew info 的 Nix 信息查詢工具
- userscan - 掃描包含手動編譯程序的目錄,並將其註冊到 Nix 垃圾回收器中
- nix-search-cli - 用於在 search.nixos.org 上搜索軟件包的命令行工具
Shell
- nix-bash-completions - 針對
nix*命令的 Bash 自動補全功能 - nixos-shell (Mic92) - 在 Shell 中啟動輕量級 NixOS 虛擬機(類似於 Vagrant)
- nixos-shell (chrisfarms) - 類似於 nix-shell,但針對 NixOS 模塊;可構建版本見 此分支
- extra-container - 從命令行運行聲明式 NixOS 容器;類似於 nixos-shell (chrisfarms)
其他
- nix-bundle - 將 Nix 屬性打包為單文件可執行程序
- nix-user-chroot - 允許非特權用戶在任意系統上安裝 Nix
- nh - nixos-rebuild 的重寫版本,集成了 nvd 差異對比、nix-output-manager 構建樹視圖以及軟件包搜索等提升使用體驗的功能
- nixos-cli - 一款用於輕鬆管理 NixOS 系統的多合一工具,整合了所有 `nixos-*` 命令的功能
Nix 運維
Nix 生態系統的運維工具:
官方
部署
- Bento - 一款 NixOS 集群管理工具,支持非全天候在線的遠程系統。
- colmena - 一款 NixOS 部署工具
- comin - 一款持續從 Git 倉庫拉取並進行部署的工具
- deploy-rs - 一款簡單的多配置(multi-profile)Nix-flake 部署工具
- krops - 一個用於遠程或本地部署 NixOS 系統的輕量級工具包
- lollypops - 一個支持並行且無狀態的 NixOS 部署工具
- Morph - 一個 NixOS 部署工具
- Nixinate - 一個 Nix flake 庫,提供應用輸出,用於通過 SSH 管理現有的 NixOS 主機
nixos-build --target-host- Nixus - 一個實驗性的 NixOS 部署工具
- wire - 一個用於部署 NixOS 系統的工具。其用法靈感來自 colmena,但它並非 colmena 的分叉。
Docker
Kubernetes
- kubenix - Kubernetes resource builder written in Nix
- nix-kubernetes - Kubernetes deployment manager written in nix
其他 Nix 實現與解析器
- hnix (Haskell,解析器與求值器)
- rnix (Rust,解析器)
- go-nix (Go,解析器與 Nix 兼容的文件哈希計算器)
- nix-idea (Java,解析器)
- lix (C++,NixOS/nix 的分叉)
- snix (Rust,CLI、求值器與存儲層)
額外的非官方生態系統
使用 Nix 無需這些服務。這些服務均與 NixOS 基金會 無關。
- Cachix:即服務形式的二進制緩存。公共緩存免費,私有(需令牌訪問)緩存採用訂閱制。
- Hercules CI:利用無狀態構建代理簡化 CI 設置。開源項目免費,私有倉庫按用戶數訂閱。
- Garnix:基於 Nix 的 CI、緩存(公測階段)及雲託管(內測階段)服務。目前免費,但也提供商業方案。
- nixbuild.net:面向 x86_64 和 AArch64 架構的遠程 Nix 構建服務。按使用量付費。
另見
- awesome-nix
- 特定語言的軟件包輔助工具
- 替代軟件包集
- 從他人的 NixOS 配置中獲取靈感
- NixOS 軟件包搜索 用於搜索 NixOS 軟件包