commit a5c6be3f1016dbc925fcebd53c9ca7402def180f
parent de872f1e17e2b2bb5a4eb349fc6a1656b857a48e
Author: Toni Brown <me@tb148.net>
Date: Mon, 27 Apr 2026 00:21:02 +0800
install hermes agent
Diffstat:
4 files changed, 222 insertions(+), 1 deletion(-)
diff --git a/flake.lock b/flake.lock
@@ -67,6 +67,27 @@
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
+ "hermes-agent",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1772408722,
+ "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_3": {
+ "inputs": {
+ "nixpkgs-lib": [
"nur",
"nixpkgs"
]
@@ -118,6 +139,31 @@
"type": "github"
}
},
+ "hermes-agent": {
+ "inputs": {
+ "flake-parts": "flake-parts_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "npm-lockfile-fix": "npm-lockfile-fix",
+ "pyproject-build-systems": "pyproject-build-systems",
+ "pyproject-nix": "pyproject-nix_2",
+ "uv2nix": "uv2nix_2"
+ },
+ "locked": {
+ "lastModified": 1777218630,
+ "narHash": "sha256-FsZ0XHHkcMYDKyWm9zgWB4B/5qHIsdGOh73wcQ2UFQE=",
+ "owner": "NousResearch",
+ "repo": "hermes-agent",
+ "rev": "eaa7e2db670ba0879bc040c22c39d5abb39b897c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NousResearch",
+ "repo": "hermes-agent",
+ "type": "github"
+ }
+ },
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -227,9 +273,30 @@
"type": "github"
}
},
+ "npm-lockfile-fix": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775903712,
+ "narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=",
+ "owner": "jeslie0",
+ "repo": "npm-lockfile-fix",
+ "rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "jeslie0",
+ "repo": "npm-lockfile-fix",
+ "type": "github"
+ }
+ },
"nur": {
"inputs": {
- "flake-parts": "flake-parts_2",
+ "flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
]
@@ -248,10 +315,99 @@
"type": "github"
}
},
+ "pyproject-build-systems": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "nixpkgs"
+ ],
+ "pyproject-nix": "pyproject-nix",
+ "uv2nix": "uv2nix"
+ },
+ "locked": {
+ "lastModified": 1772555609,
+ "narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=",
+ "owner": "pyproject-nix",
+ "repo": "build-system-pkgs",
+ "rev": "c37f66a953535c394244888598947679af231863",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pyproject-nix",
+ "repo": "build-system-pkgs",
+ "type": "github"
+ }
+ },
+ "pyproject-nix": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "pyproject-build-systems",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1769936401,
+ "narHash": "sha256-kwCOegKLZJM9v/e/7cqwg1p/YjjTAukKPqmxKnAZRgA=",
+ "owner": "nix-community",
+ "repo": "pyproject.nix",
+ "rev": "b0d513eeeebed6d45b4f2e874f9afba2021f7812",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "pyproject.nix",
+ "type": "github"
+ }
+ },
+ "pyproject-nix_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1772865871,
+ "narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=",
+ "owner": "pyproject-nix",
+ "repo": "pyproject.nix",
+ "rev": "e537db02e72d553cea470976b9733581bcf5b3ed",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pyproject-nix",
+ "repo": "pyproject.nix",
+ "type": "github"
+ }
+ },
+ "pyproject-nix_3": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "uv2nix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1771518446,
+ "narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
+ "owner": "pyproject-nix",
+ "repo": "pyproject.nix",
+ "rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pyproject-nix",
+ "repo": "pyproject.nix",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"betterfox": "betterfox",
"catppuccin": "catppuccin",
+ "hermes-agent": "hermes-agent",
"home-manager": "home-manager",
"lix": "lix",
"lix-module": "lix-module",
@@ -332,6 +488,55 @@
"repo": "treefmt-nix",
"type": "github"
}
+ },
+ "uv2nix": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "pyproject-build-systems",
+ "nixpkgs"
+ ],
+ "pyproject-nix": [
+ "hermes-agent",
+ "pyproject-build-systems",
+ "pyproject-nix"
+ ]
+ },
+ "locked": {
+ "lastModified": 1770770348,
+ "narHash": "sha256-A2GzkmzdYvdgmMEu5yxW+xhossP+txrYb7RuzRaqhlg=",
+ "owner": "pyproject-nix",
+ "repo": "uv2nix",
+ "rev": "5d1b2cb4fe3158043fbafbbe2e46238abbc954b0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pyproject-nix",
+ "repo": "uv2nix",
+ "type": "github"
+ }
+ },
+ "uv2nix_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hermes-agent",
+ "nixpkgs"
+ ],
+ "pyproject-nix": "pyproject-nix_3"
+ },
+ "locked": {
+ "lastModified": 1773039484,
+ "narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=",
+ "owner": "pyproject-nix",
+ "repo": "uv2nix",
+ "rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pyproject-nix",
+ "repo": "uv2nix",
+ "type": "github"
+ }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
@@ -24,6 +24,10 @@
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
+ hermes-agent = {
+ url = "github:NousResearch/hermes-agent";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
@@ -42,6 +46,7 @@
lix-module,
betterfox,
catppuccin,
+ hermes-agent,
home-manager,
...
} @ inputs: {
@@ -55,6 +60,7 @@
nur.modules.nixos.default
lix-module.nixosModules.default
catppuccin.nixosModules.catppuccin
+ hermes-agent.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
diff --git a/local/service/default.nix b/local/service/default.nix
@@ -3,6 +3,7 @@
./boinc/.
./btrbk/.
./docker/.
+ ./hermes-agent/.
./pipewire/.
./searx/.
./timesyncd/.
diff --git a/local/service/hermes-agent/default.nix b/local/service/hermes-agent/default.nix
@@ -0,0 +1,9 @@
+{config, ...}: {
+ services.hermes-agent = {
+ enable = true;
+ settings.model.base_url = "https://api.deepseek.com/v1";
+ settings.model.default = "deepseek-v4-pro";
+ environmentFiles = ["${config.users.users.tb148.home}/.hermes.env"];
+ addToSystemPackages = true;
+ };
+}