Nix 安裝
使用 Nix 套件管理器和 Home Manager 模組安裝 OpenClaw 的指南。
使用 Nix 執行 OpenClaw 的建議方式是透過 nix-openclaw — 一個功能齊全的 Home Manager 模組。
快速開始
將以下內容貼給您的 AI 代理(Claude、Cursor 等):
I want to set up nix-openclaw on my Mac.
Repository: github:openclaw/nix-openclaw
What I need you to do:
1. Check if Determinate Nix is installed (if not, install it)
2. Create a local flake at ~/code/openclaw-local using templates/agent-first/flake.nix
3. Help me create a Telegram bot (@BotFather) and get my chat ID (@userinfobot)
4. Set up secrets (bot token, Anthropic key) - plain files at ~/.secrets/ is fine
5. Fill in the template placeholders and run home-manager switch
6. Verify: launchd running, bot responds to messages
Reference the nix-openclaw README for module options.
完整指南請參閱 github.com/openclaw/nix-openclaw
nix-openclaw 儲存庫是 Nix 安裝的權威來源。本頁面僅提供快速概覽。
您會獲得什麼
- Gateway + macOS 應用程式 + 工具(whisper、spotify、cameras)— 所有版本固定
- 可在重新開機後存續的 Launchd 服務
- 宣告式設定的外掛系統
- 即時回滾:
home-manager switch --rollback
Nix 模式執行行為
當設定 OPENCLAW_NIX_MODE=1 時(nix-openclaw 自動設定):
OpenClaw 支援 Nix 模式,使設定具有確定性並停用自動安裝流程。透過匯出以下環境變數啟用:
OPENCLAW_NIX_MODE=1
在 macOS 上,GUI 應用程式不會自動繼承 shell 環境變數。您也可以透過 defaults 啟用 Nix 模式:
defaults write ai.openclaw.mac openclaw.nixMode -bool true
設定 + 狀態路徑
OpenClaw 從 OPENCLAW_CONFIG_PATH 讀取 JSON5 設定,並在 OPENCLAW_STATE_DIR 中儲存可變資料。需要時,您也可以設定 OPENCLAW_HOME 以控制內部路徑解析使用的基底 home 目錄。
OPENCLAW_HOME(預設優先順序:HOME/USERPROFILE/os.homedir())OPENCLAW_STATE_DIR(預設:~/.openclaw)OPENCLAW_CONFIG_PATH(預設:$OPENCLAW_STATE_DIR/openclaw.json)
在 Nix 環境下執行時,請明確設定這些變數指向 Nix 管理的位置,以確保執行狀態和設定不會進入不可變的 store。
Nix 模式下的執行行為
- 自動安裝和自我變更流程被停用
- 缺少的相依套件會顯示 Nix 特定的修復訊息
- 介面會在啟用時顯示唯讀的 Nix 模式橫幅
封裝注意事項(macOS)
macOS 封裝流程預期在以下路徑有穩定的 Info.plist 範本:
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh 會將此範本複製至 app bundle 中,並修補動態欄位(bundle ID、版本/建置、Git SHA、Sparkle 金鑰)。這使 plist 在 SwiftPM 封裝和 Nix 建置中保持確定性(不依賴完整的 Xcode 工具鏈)。
相關資源
- nix-openclaw — 完整設定指南
- 設定精靈 — 非 Nix 的 CLI 設定
- Docker — 容器化設定