nix-hermes-agent
0xrsydn/nix-hermes-agent
Nix package and NixOS module that runs Hermes Agent as a declaratively configured system service
nix-hermes-agent is a Nix package and NixOS module for Hermes Agent. It lets you declare the agent's config, documents, skills, MCP servers and secrets in Nix and bring the service up with nixos-rebuild switch.
What nix-hermes-agent does
nix-hermes-agent is a Nix package and NixOS module for Hermes Agent. Everything is configured in Nix: the services.hermes-agent options render config to cli-config.yaml, install workspace documents such as SOUL.md, AGENTS.md and USER.md, declare skills (bundled, optional and custom), define MCP servers and add extra packages to PATH. One nixos-rebuild switch brings the service up.
Secrets stay out of the Nix store. You point environmentFiles at a file holding keys such as OPENROUTER_API_KEY or TELEGRAM_TOKEN, and an optional authFile at OAuth tokens, with a sops-nix example in the README. The agent runs as a systemd service, so status and logs come from systemctl and journalctl. Upstream Hermes pins are promoted through quarantined candidate pull requests, so a broken Hermes release cannot replace the last-known-good package, as described in the repository's update policy.
Key features
- NixOS module under services.hermes-agent
- Declarative config rendered to cli-config.yaml
- Workspace documents such as SOUL.md, AGENTS.md and USER.md defined inline or from files
- Declarative skills and MCP servers
- Secrets through environmentFiles and authFile, with a sops-nix example
- Quarantined upstream update policy that keeps a last-known-good package
When to use it
- Running Hermes Agent on a NixOS server with its whole setup in version control
- Managing API keys and Telegram tokens with sops-nix instead of plain files
- Reproducing the same Hermes setup across several hosts
Who it is for: NixOS users who want Hermes Agent managed as a declarative, reproducible system service.
How it fits with Hermes Agent
A packaging of Hermes Agent for Nix, wrapping it in a NixOS module that renders its configuration, documents, skills and MCP servers.
How to install nix-hermes-agent
These commands are copied from the project's README. Check the repository for the latest steps before you run them.
nixos-rebuild switch
systemctl status hermes-agent
journalctl -u hermes-agent -fRequirements: A NixOS system using flakes, plus an environment file holding your provider API keys and any messaging tokens.
FAQ
What is nix-hermes-agent?
nix-hermes-agent is a Nix package and NixOS module for Hermes Agent. You describe the agent in Nix and NixOS runs it as a systemd service.
How do I deploy nix-hermes-agent?
Add the flake input github:0xrsydn/nix-hermes-agent, include nix-hermes.nixosModules.hermes-agent in your host modules, and set services.hermes-agent options. Then run nixos-rebuild switch and check systemctl status hermes-agent.
Is nix-hermes-agent free and open source?
The repository is public, but it has no license file, so default copyright applies. Check with the author before reusing the code.
Similar deployment for Hermes Agent
All deploymentKubernetes operator that manages Hermes Agent instances from declarative HermesAgent manifests
EdwardWason hermes-for-winOne-click PowerShell installer that sets up Hermes Agent and a web UI on Windows through WSL2
xmbshwll hermes-agent-dockerMinimal Docker image for Hermes Agent with persistent state and mini-swe-agent included
Azure karsReference stack for running AI agents, including Hermes, in hardened per-agent Kubernetes sandboxes
aws-samples Hermes Agent on Amazon Bedrock AgentCoreAWS sample that deploys Hermes Agent on Bedrock AgentCore with per-user microVMs and chat channels
metantonio Hermes WSL UbuntuGuide and setup scripts for running Hermes Agent with llama.cpp and Qwen3.5 on WSL2, Ubuntu and macOS
Related guides: How to run Hermes Agent securely · How to install Hermes Agent · Connect Hermes agents on several machines with Hermes Desktop