# Nix Hermes Agent

> 仓库地址：https://github.com/0xrsydn/nix-hermes-agent
> 作者/组织：0xrsydn
> 成熟度：beta
> 分析日期：2026-04-15

## 一句话总结
通过 NixOS module 和 Nix package wrapper 实现 Hermes Agent 的声明式配置、部署和管理，将 Hermes 纳入 Nix 的可复现部署体系。

## 项目定位与架构
nix-hermes-agent 为 NixOS 用户提供了一等公民级别的 Hermes Agent 集成。通过 Nix 表达式声明式配置所有参数，自动渲染为 `cli-config.yaml`，一条 `nixos-rebuild switch` 命令完成部署。

目录结构遵循 Hermes 标准：`/var/lib/hermes/.hermes/`（HERMES_HOME）下包含生成的 config、runtime memory 和 skills；`/var/lib/hermes/workspace/` 作为工作目录。Gateway 模式为 User → Gateway → Tools → Execution。

secrets 管理支持 `environmentFiles`（secrets 不进入 Nix store）和 sops-nix 加密集成。

## 关键技术特性
- **声明式配置**：所有 Hermes 参数通过 Nix 表达式定义，含 model、terminal、agent、memory 配置
- **Skills 管理**：支持 bundled/optional/custom skills 声明，含碰撞检测（Nix 声明优先于 CLI 安装）
- **Document workspace**：inline 或 file-based 文档（SOUL.md、AGENTS.md、USER.md）自动安装
- **MCP Server 集成**：声明式 MCP server 配置和自定义 tool 注册
- **Secrets 管理**：sops-nix 加密、authFile、environmentFiles 多种方式

## 设计亮点与创新
Skill 所有权模型设计巧妙：Nix 声明的 skills 在 rebuild 时优先，但与 Hermes CLI 工作流共存。推荐用 Nix 管理稳定 skills、CLI 探索新 skills，成熟后再 promote 到 Nix 配置。这种渐进式工作流兼顾了声明式管理和灵活探索。

## 局限性与风险
限定 NixOS 用户群体，受众较窄。配置范围受限于 `cli-config.yaml` 可表达的内容。不替代 Hermes 原生的运行时工作流。需要 Nix/NixOS 的学习门槛。

## 与生态系统的关联
与 hermes-agent-docker、evey-setup 同属部署类工具，但面向不同的基础设施哲学（Nix vs Docker vs bare metal）。对于已经使用 NixOS 的 homelab 和服务器运维场景，提供了最原生的集成方式。
