工程開發
upgrade-flake avatar

upgrade-flake

更新 flake.lock 以獲取最新的 Nix flake 輸入版本,且不會執行完整的 NixOS 系統版本升級。

簡介

upgrade-flake 工具為基於 Nix 的基礎架構專案提供了一種精簡且安全的相依性輸入更新流程。它專為維護 NixOS 設定的開發人員與系統管理員所設計,旨在讓您能在不遷移至新的 NixOS 發行版本通道的情況下,隨時更新套件、獲取安全修補程式及上游改進。透過僅針對 flake.lock 檔案進行操作,此工具可確保基礎系統版本維持穩定,同時將個別元件(如 nixpkgs 和 home-manager)更新至最新的提交版本。

  • 將所有 flake 輸入(包含 nixpkgs 和 home-manager)更新至最新的上游提交版本。

  • 在應用至作用中系統前,透過內部的 just 任務執行安全的建置驗證與試運行。

  • 將 flake 更新流程與主要的 NixOS 發行版本升級分開,實現受控的變更流程。

  • 提供內建的還原功能,若發生問題,可立即回退至先前的系統世代或恢復先前的 flake.lock 狀態。

  • 建議結合最佳實踐,包括分析 git diff 以及檢查系統服務狀態,以確保更新的可靠性。

  • 最適用於使用基於 flake 專案結構並搭配 just 工具的 NixOS 環境。

  • 在執行更新前,務必使用 git diff flake.lock 查看變更,以理解即將更新的版本內容。

  • 需搭配現有的 Nix flake 基礎架構使用;本工具充當標準 nix flake 指令的協調層。

  • 請注意,本工具無法自動解決特定套件中引入的重大變更;若在驗證階段發生建置失敗,應檢查 Nix 的錯誤輸出以進行修復。

  • 強烈推薦給習慣使用宣告式配置的用戶,這類用戶通常傾向透過頻繁的小型更新,而非不頻繁的大型系統遷移來管理環境。

倉庫統計

Star 數
34
Fork 數
1
Open Issue 數
1
主要語言
Shell
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午07:00
在 GitHub 查看