乐于分享
好东西不私藏

Linux部署神器!Nix-OpenClaw,声明式配置永不崩溃

Linux部署神器!Nix-OpenClaw,声明式配置永不崩溃

GitHub星标:489

伟哥最近挖到了一个宝藏——

Nix-OpenClaw,用Nix管理OpenClaw部署。

声明式配置,一键部署,永不崩溃。


01 这是什么神仙项目?

nix-openclaw

GitHub星标:489

一句话介绍:声明式OpenClaw部署,防弹级默认配置

点进去一看,我整个人都兴奋了——

  • • ✅ 声明式配置
  • • ✅ 自动依赖管理
  • • ✅ 一键回滚
  • • ✅ macOS + Linux支持
  • • ✅ 插件系统
  • • ✅ launchd/systemd服务

再也不用担心更新把系统搞崩了。


02 为什么用Nix?

传统部署的痛点

问题
传统方式
Nix
版本冲突
经常发生
永不冲突
更新崩溃
难以回滚
一键回滚
环境不一致
“在我机器上能跑”
完全一致
依赖地狱
各种问题
自动管理

Nix的优势

传统方式:1. 安装Node 182. 安装某个工具3. 工具依赖Node 164. 💥 环境崩了Nix方式:1. 声明需要Node 18和工具2. Nix自动解决依赖3. 所有版本隔离存储4. ✅ 永远不会崩

03 快速开始

方式一:让AI帮你配置(推荐)

复制这段给Claude或Cursor:

我想在我的机器上部署nix-openclaw。仓库:github:openclaw/nix-openclawnix-openclaw是什么:- 完整的Nix打包OpenClaw- 安装gateway + tools;macOS还有app- macOS用launchd服务,Linux用systemd用户服务需要你做的:1. 检查是否安装了Determinate Nix(没有就安装)2. 用templates/agent-first/flake.nix创建本地配置3. 创建AGENTS.md、SOUL.md、TOOLS.md4. 帮我创建Telegram机器人并获取Chat ID5. 设置secrets6. 填充模板并运行home-manager switch7. 验证服务运行正常我的环境:- OS: [macOS / Linux]- CPU: [arm64 / x86_64]

方式二:手动配置

# 安装Determinate Nixcurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install# 创建配置目录mkdir -p ~/code/openclaw-localcd ~/code/openclaw-local# 复制模板cp -r /path/to/nix-openclaw/templates/agent-first/* .# 编辑flake.nix# 填入你的配置

04 配置示例

最小配置

{  programs.openclaw = {    enable = true;    config = {      gateway = {        mode = "local";        auth.token = "your-token";      };      channels.telegram = {        tokenFile = "/run/agenix/telegram-bot-token";        allowFrom = [ 12345678 ];      };    };  };}

完整配置

{  programs.openclaw = {    documents = ./documents;    config = {      gateway = {        mode = "local";        auth.token = "your-token";      };      channels.telegram = {        tokenFile = "/run/agenix/telegram-bot-token";        allowFrom = [          12345678           # 你自己          -1001234567890    # 群组        ];        groups = {          "*" = { requireMention = true; };          "-1001234567890" = { requireMention = false; };        };      };    };    # 插件    plugins = [      { source = "github:openclaw/nix-steipete-tools?dir=tools/peekaboo"; }      { source = "github:joshp123/padel-cli";        config = {          env.PADEL_AUTH_FILE = "/run/agenix/padel-auth";          settings.default_location = "Barcelona";        };      }    ];  };}

05 插件系统

内置插件

插件
功能
summarize
总结网页/PDF/视频
peekaboo
屏幕截图
poltergeist
macOS UI自动化
sag
文字转语音
camsnap
摄像头拍照
gogcli
Google日历
goplaces
Google Places
bird
Twitter/X
sonoscli
Sonos控制

启用插件

programs.openclaw.bundledPlugins = {  summarize.enable = true;  peekaboo.enable = true;  goplaces.enable = true;};

添加社区插件

programs.openclaw.plugins = [  { source = "github:owner/repo-name"; }];

06 服务管理

macOS (launchd)

# 查看服务状态launchctl print gui/$(id -u)/com.openclaw.gateway# 查看日志log show --predicate 'process == "openclaw-gateway"' --last 1h# 重启服务launchctl kickstart gui/$(id -u)/com.openclaw.gateway

Linux (systemd)

# 查看服务状态systemctl --user status openclaw-gateway# 查看日志journalctl --user -u openclaw-gateway -f# 重启服务systemctl --user restart openclaw-gateway

07 回滚操作

查看历史版本

home-manager generations

回滚到上一版本

home-manager switch --rollback

回滚到特定版本

home-manager switch -L /nix/store/xxx-home-manager-generation

30秒恢复到任意历史状态。


08 双实例部署

programs.openclaw.instances = {  prod = {    enable = true;    package = inputs.nix-openclaw.packages.${pkgs.system}.openclaw-gateway;    config = {      channels.telegram.tokenFile = "/run/agenix/telegram-prod";    };  };  dev = {    enable = true;    gatewayPath = "/Users/you/code/openclaw";  # 本地开发    gatewayPort = 18790;    config = {      channels.telegram.tokenFile = "/run/agenix/telegram-dev";    };  };};

09 插件开发指南

插件结构

my-plugin/├── flake.nix      # Nix配置├── skills/│   └── my-skill/│       └── SKILL.md└── README.md

flake.nix示例

{  outputs = { self, nixpkgs }: {    openclawPlugin = {      name = "hello-world";      skills = [ ./skills/hello-world ];      packages = [ pkgs.hello ];      needs = {        stateDirs = [];        requiredEnv = [];      };    };  };}

10 Nix-OpenClaw vs 传统部署

对比项
传统部署
Nix-OpenClaw
安装
手动配置
声明式
依赖
手动安装
自动管理
回滚
困难
一键
多环境
复杂
简单
插件
手动配置
自动安装
可复现
完美

11 适用场景

✅ 强烈推荐:

  • • Linux服务器部署
  • • 多环境管理
  • • 追求稳定的用户
  • • DevOps工程师
  • • Nix爱好者

❌ 不太适合:

  • • 不想学Nix的用户
  • • 简单单机使用
  • • Windows用户(暂不支持)

GitHub地址:

https://github.com/openclaw/nix-openclaw

⚠️ 提醒:需要先学习Nix基础知识,但值得投入。


你想用Nix管理你的OpenClaw部署吗?

评论区聊聊,有问题我尽量回复!

如果这篇文章对你有帮助,点个赞/收藏/转发,我继续给你挖好东西!


📍 原创内容,转载请注明出处📌 关注公众号【AI骑士百科志】,获取更多AI工具深度解读

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Linux部署神器!Nix-OpenClaw,声明式配置永不崩溃

猜你喜欢

  • 暂无文章