Skip to content

Nix 安装

nix-openclaw 以声明式方式安装 OpenClaw——这是一个功能完整的 Home Manager 模块。

信息: nix-openclaw 仓库是 Nix 安装的权威来源。本页只是快速概览。

你将获得

  • Gateway + macOS 应用 + 工具(whisper、spotify、cameras)——全部版本固定
  • 存活重启的 launchd 服务
  • 带声明式配置的插件系统
  • 即时回滚:home-manager switch --rollback

快速开始

第一步:安装 Determinate Nix

如果尚未安装 Nix,按照 Determinate Nix 安装器 的说明操作。

第二步:创建本地 flake

使用 nix-openclaw 仓库中的 agent-first 模板:

bash
mkdir -p ~/code/openclaw-local
# 从 nix-openclaw 仓库复制 templates/agent-first/flake.nix

第三步:配置密钥

设置消息 Bot Token 和模型提供商 API Key。~/.secrets/ 目录下的普通文件即可。

第四步:填写模板占位符并切换

bash
home-manager switch

第五步:验证

确认 launchd 服务正在运行,你的 Bot 能响应消息。

完整模块选项和示例参见 nix-openclaw README

Nix 模式运行时行为

设置 OPENCLAW_NIX_MODE=1(使用 nix-openclaw 时自动设置)后,OpenClaw 进入确定性模式,禁用自动安装流程。

也可以手动设置:

bash
export OPENCLAW_NIX_MODE=1

在 macOS 上,GUI 应用不会自动继承 shell 环境变量。改用 defaults 启用 Nix 模式:

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

Nix 模式下的变化

  • 自动安装和自我修改流程被禁用
  • 缺少依赖时显示 Nix 专属的修复建议消息
  • UI 显示只读 Nix 模式横幅

配置和状态路径

OpenClaw 从 OPENCLAW_CONFIG_PATH 读取 JSON5 配置,将可变数据存储在 OPENCLAW_STATE_DIR。在 Nix 下运行时,请将这两个变量显式指向 Nix 管理的位置,确保运行时状态和配置不会落入不可变的 Nix Store。

变量默认值
OPENCLAW_HOMEHOME / USERPROFILE / os.homedir()
OPENCLAW_STATE_DIR~/.openclaw
OPENCLAW_CONFIG_PATH$OPENCLAW_STATE_DIR/openclaw.json

相关链接