通过 nix-openclaw 声明式安装 OpenClaw,适合已使用 Nix/NixOS/Home Manager 的用户。

优势

  • Gateway + macOS app + 工具(whisper、spotify、cameras)全部固定版本
  • Launchd service 开机自启
  • 声明式插件配置
  • 即时回滚:home-manager switch --rollback

快速开始

# 1. 安装 Determinate Nix(若未安装)
# 参考 https://github.com/DeterminateSystems/nix-installer
 
# 2. 创建本地 flake
mkdir -p ~/code/openclaw-local
# 从 nix-openclaw repo 复制 templates/agent-first/flake.nix
 
# 3. 配置 secrets(bot token、model provider API key)
# 存放于 ~/.secrets/ 即可
 
# 4. 填写模板占位符并切换
home-manager switch
 
# 5. 验证 launchd service 运行正常

Nix 模式运行行为

设置 OPENCLAW_NIX_MODE=1(nix-openclaw 自动设置)后,OpenClaw 进入确定性模式:

  • 禁用自动安装和自我变更流程
  • openclaw.json 视为不可变,以下命令拒绝修改配置文件:setup、onboarding、openclaw update、plugin install/update/uninstall、doctor --fix、openclaw config set
  • 缺少依赖时显示 Nix 专属修复提示
  • UI 显示只读 Nix 模式横幅

macOS GUI app 需通过 defaults 启用:

defaults write ai.openclaw.mac openclaw.nixMode -bool true

关键环境变量

变量默认值
OPENCLAW_HOMEHOME / USERPROFILE
OPENCLAW_STATE_DIR~/.openclaw
OPENCLAW_CONFIG_PATH$OPENCLAW_STATE_DIR/openclaw.json

Service PATH 发现

launchd/systemd gateway service 自动发现 Nix profile 二进制:

  • 设置 NIX_PROFILES 时,每个条目按右到左优先级加入 PATH
  • 未设置时,回退到 ~/.nix-profile/bin

相关链接