Nixmac
nixmac 是一款基於 nix-darwin 的 AI 驅動 macOS 配置管理器,它通過從簡單的英語請求生成 Nix、顯示差異以及通過原子重建和回滾安全地應用更改,將您的 Mac 變成一個可重現、版本控制的系統。
https://nixmac.com/?ref=producthunt&utm_source=aipure

產品資訊
更新時間:2026年07月07日
什麼是 Nixmac
nixmac 是一款 macOS 應用程序,旨在使使用 Nix 管理 Mac 變得簡單可靠。它建立在 nix-darwin 和 Nix 生態系統(包括 Nixpkgs 和 home-manager,可選 Homebrew 集成)之上,可幫助您設置和發展聲明性配置,而無需從頭開始手寫所有內容。您可以從一個合理的模板開始,該模板可以搭建一個可用的 flake,或者導入一個現有的 flake(包括來自 GitHub 的),然後從上次中斷的地方繼續——使您的系統配置可重現且易於在機器之間共享。
Nixmac 的主要功能
nixmac 是一個由 AI 驅動的 macOS 配置管理器,它基於 nix-darwin 構建,可幫助您將 Mac 轉變為可重現、版本控制的系統。您只需用簡單的英文描述所需的更改,它就會生成/更新 Nix 代碼(通常是 flake),構建配置,並通過原子性的 darwin-rebuild switch 安全地應用它,並實時顯示構建輸出。它可以搭建一個合理的入門模板,導入現有的 flake(包括來自 GitHub 的),通過只讀檢查檢測先前的手動/自定義設置,在應用前顯示行級差異,檢測手動編輯造成的漂移,並將每個應用的更改提交到 Git,以便於歷史記錄和回滾。
自然語言到 Nix 更改: 用簡單的英文描述您想要的內容;nixmac 會讀取您現有的配置,編寫/更新 Nix 代碼,並迭代直到它構建成功。
Flake 腳手架和清晰的項目佈局: 選擇一個起始模板(例如,nix-darwin + Determinate、nixos-unified 或 flake-parts),nixmac 會搭建一個帶有合理模塊的工作 flake,並在第一次嘗試時就能構建成功。
導入現有配置(無需重寫): 將 nixmac 指向現有的 flake(本地文件夾、flake 引用或 GitHub),它會從您當前的設置繼續,包括自動檢測 flake.nix 文件。
安全、可觀察的重建: 實時流式傳輸每個重建階段(評估、構建、獲取/編譯、激活)並原子地應用更改;失敗的構建不會改變正在運行的系統。
可審查的差異 + 漂移檢測: 在更改落地之前顯示每個文件、行級差異;檢測手動編輯(「漂移」)並允許您將其納入配置或撤銷它們。
Git 原生歷史記錄和恢復: 每次應用都會成為一個帶有 AI 編寫的語義消息的 Git 提交,創建一個類似於變更日誌的歷史記錄,並實現一鍵恢復到先前的狀態。
Nixmac 的使用案例
可重現的開發者工作站: 使用 nix-darwin/home-manager 統一工程師 Mac 上的工具、shell 和服務,並通過 Git 提交和差異追蹤和審查更改。
大規模入職和設備設置: 從已知良好的模板或現有的團隊 flake 快速啟動新的 Mac,減少設置時間並確保配置一致性。
macOS 的個人「基礎設施即代碼」: 維護一個版本控制的 Mac 配置,其中系統更改以自然語言請求,作為差異進行審查,並以原子方式應用,具有回滾安全性。
從臨時/手動調整遷移到聲明式配置: 使用只讀檢測來發現已經自定義的內容,將其轉換為 Nix 代碼,並持續捕獲未來手動編輯造成的漂移。
多機一致性和恢復: 使用 Git 歷史記錄在多個 Mac 上複製相同的設置,並在錯誤更改或重建失敗後恢復到已知的工作狀態。
優點
基於 nix-darwin 構建的可重現、版本控制的 macOS 配置,具有原子應用/回滾行為。
強大的透明度:實時重建輸出加上行級差異和漂移檢測,降低了「黑盒」風險。
靈活的入職:搭建一個工作 flake 或導入一個現有的 flake(包括來自 GitHub 的),無需重寫。
缺點
儘管有 AI 輔助,但仍需要採用/理解 Nix 概念(flakes、nix-darwin)以進行更深入的故障排除。
AI 功能可能依賴於託管模型或外部 API 密鑰;離線模式需要本地工具(例如 Ollama)。
macOS 特定的操作限制(例如,完全磁盤訪問和應用程序轉移考慮)如果安裝/運行不正確,可能會增加設置摩擦。
如何使用 Nixmac
1) 下載並安裝 nixmac: 前往 https://nixmac.com/download 並安裝 macOS 應用程序。
2) 啟動 nixmac 並開始入門: 打開 nixmac 並開始引導式入門流程(它將引導您設置可重現、版本控制的 Mac 配置)。
3) 選擇配置模板(搭建一個可用的 flake): 在入門步驟“配置目錄”中,選擇一個起始模板,以便 nixmac 搭建一個第一次就能構建的 Nix flake。顯示的選項包括:“nix-darwin + Determinate (推薦)”、“nixos-unified for cross-platform”和“flake-parts for minimalists”。
4) 或者導入現有的 flake 而不是搭建: 如果您已經使用 Nix 管理您的 Mac,請將 nixmac 指向您現有的 flake(例如,連接 GitHub 帳戶並讓 nixmac 自動檢測 flake.nix,或使用本地文件夾/flake 引用)。
5) 讓 nixmac 檢測現有的手動自定義(漂移/導入): 在入門期間,nixmac 可以運行只讀檢測,以查找您已手動更改的設置、包和服務,然後將它們轉換為您可以保留在配置中的 Nix 代碼。
6) 觀看實時構建和重建階段: 在應用初始設置或後續更改時,nixmac 會實時流式傳輸每個階段(評估 flake、構建包、從緩存獲取/編譯和激活配置)。
7) 使用原子激活安全地應用更改 (darwin-rebuild switch): nixmac 使用真正的 darwin-rebuild switch 原子地應用更改。如果構建失敗,您的運行系統保持不變(失敗時自動回滾;在通過之前不會激活任何內容)。
8) 配置 AI 推理(託管、自帶密鑰或本地): 在“AI 推理”步驟中,選擇 nixmac 將如何生成/迭代 Nix 更改:使用 nixmac 託管模型(按流量計費)、自帶 API 密鑰(例如 Anthropic/OpenAI),或使用 Ollama 完全本地/離線運行。
9) 用簡單的英語描述您想要的更改: 入門後,使用自然語言提示請求更改(例如,安裝包、啟用設置)。nixmac 會讀取您的配置,規劃編輯,編寫 Nix,並迭代直到它構建成功。
10) 在應用之前審查行級差異: 在更改生效之前,檢查每個文件、逐行差異,顯示將添加/刪除的確切內容,以便您可以驗證它不是一個黑盒子。
11) 處理漂移:採用或撤銷手動更改: 如果您在 Nix 之外更改了某些內容,nixmac 會檢測到漂移並提供將這些更改採用到您的聲明性配置中,或撤銷它們以返回到聲明狀態。
12) 將每次應用保存為 Git 提交並在需要時回滾: 每次應用都保存為 Git 提交(帶有 AI 編寫的語義提交消息)。您可以通過 Git 支持的歷史記錄/一鍵恢復工作流程恢復任何以前的狀態。
13) (可選) 使用 CLI 進行演化提示和限制: 您可以從終端運行更改,使用 nixmac evolve "<request>"。對於自託管 OpenAI 兼容服務器或較小的上下文窗口,設置限制,例如 --max-output-tokens(也可在“設置”→“AI 模型”→“演化限制”中配置)。示例:nixmac evolve "install ripgrep and fd";或 nixmac evolve "enable Touch ID for sudo" --max-output-tokens 32768。
Nixmac 常見問題
nixmac 是一個基於 nix-darwin 構建的 AI 驅動 macOS 配置管理器。它讓您可以用簡單的英文描述所需的更改,然後它會編寫 Nix、構建並安全地應用它,從而將您的 Mac 變成一個可重現、版本控制的系統。











