diff --git a/flake.lock b/flake.lock index 391359c..37c9817 100644 --- a/flake.lock +++ b/flake.lock @@ -176,27 +176,6 @@ } }, "flake-parts_2": { - "inputs": { - "nixpkgs-lib": [ - "hermes", - "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": [ "nixvimunstable", @@ -217,7 +196,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nurpkgs", @@ -256,31 +235,6 @@ "type": "github" } }, - "hermes": { - "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": [ - "nixunstable" - ], - "npm-lockfile-fix": "npm-lockfile-fix", - "pyproject-build-systems": "pyproject-build-systems", - "pyproject-nix": "pyproject-nix", - "uv2nix": "uv2nix" - }, - "locked": { - "lastModified": 1784663791, - "narHash": "sha256-bPip7Rk/5n5idLvedBXWjzuRw6cc30XGxCRJewlwwUE=", - "owner": "nousresearch", - "repo": "hermes-agent", - "rev": "e2e8823f1d2de2aa95c8147d0abd105539d5daff", - "type": "github" - }, - "original": { - "owner": "nousresearch", - "repo": "hermes-agent", - "type": "github" - } - }, "hmunstable": { "inputs": { "nixpkgs": [ @@ -558,7 +512,7 @@ }, "nixvimunstable": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_5", "systems": "systems_4" }, @@ -577,30 +531,9 @@ "type": "github" } }, - "npm-lockfile-fix": { - "inputs": { - "nixpkgs": [ - "hermes", - "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" - } - }, "nurpkgs": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -617,56 +550,6 @@ "type": "github" } }, - "pyproject-build-systems": { - "inputs": { - "nixpkgs": [ - "hermes", - "nixpkgs" - ], - "pyproject-nix": [ - "hermes", - "pyproject-nix" - ], - "uv2nix": [ - "hermes", - "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", - "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" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -674,7 +557,6 @@ "colmena": "colmena", "darwin": "darwin_2", "flake-parts": "flake-parts", - "hermes": "hermes", "hmunstable": "hmunstable", "minecraft": "minecraft", "niks3": "niks3", @@ -806,31 +688,6 @@ "type": "github" } }, - "uv2nix": { - "inputs": { - "nixpkgs": [ - "hermes", - "nixpkgs" - ], - "pyproject-nix": [ - "hermes", - "pyproject-nix" - ] - }, - "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" - } - }, "vsext": { "inputs": { "nixpkgs": "nixpkgs_7" diff --git a/flake.nix b/flake.nix index 2ff37ed..c38c04b 100644 --- a/flake.nix +++ b/flake.nix @@ -19,10 +19,6 @@ inputs.nixpkgs.follows = "nixunstable"; }; flake-parts.url = "github:hercules-ci/flake-parts"; - hermes = { - url = "github:nousresearch/hermes-agent"; - inputs.nixpkgs.follows = "nixunstable"; - }; hmunstable = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixunstable"; diff --git a/home/hosts/hermes/default.nix b/home/hosts/hermes/default.nix deleted file mode 100644 index 6462967..0000000 --- a/home/hosts/hermes/default.nix +++ /dev/null @@ -1 +0,0 @@ -{...}: {} diff --git a/hosts/unstable/hermes/default.nix b/hosts/unstable/hermes/default.nix deleted file mode 100644 index 0833575..0000000 --- a/hosts/unstable/hermes/default.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ - config, - modulesPath, - lib, - top, - ... -}: -{ - imports = [ - (modulesPath + "/virtualisation/proxmox-lxc.nix") - top.hermes.nixosModules.default - ]; - age.secrets.hermes = { - file = ../../../secrets/hermes.age; - owner = "hermes"; - }; - greg = { - nebula = { - enable = true; - nebulaIp = "10.157.0.8"; - }; - nix.cache = false; - proxies = lib.genAttrs' [ "thehellings.lan" "nebula.thehellings.com" "shire-zebra.ts.net" ] ( - name: - (lib.nameValuePair "${config.networking.hostName}.${name}" { target = "http://127.0.0.1:9119"; }) - ); - }; - nix.settings = { - sandbox = false; - }; - proxmoxLXC = { - manageHostName = true; - manageNetwork = false; - privileged = true; - }; - services = { - fstrim.enable = false; - hermes-agent = { - enable = true; - addToSystemPackages = true; - environment = { - MATRIX_HOMESERVER = "https://thehellings.com"; - }; - environmentFiles = [ - config.age.secrets.hermes.path - ]; - settings = { - agent = { - reasoning_effort = "medium"; - reasoning_overrides = { - claude-fable = "xhigh"; - claude-opus = "high"; - }; - tool_loop_guardrails = { - hard_stop_enabled = true; - warnings_enabled = true; - }; - tool_use_enforcement = "auto"; - }; - code_execution = { - mode = "strict"; - timeout = 300; - }; - compression = { - enabled = true; - protect_first_n = 3; - protect_last_n = 5; - target_ratio = 0.25; - threshold = 0.75; - }; - context_file_max_chars = 25000; - file_read_max_chars = 100000; - goals = { - max_turns = 20; # Number of times Hermes tells the model to keep working towards the goal - }; - matrix = { - allowed_users = [ - "@greg:thehellings.com" - ]; - allowed_rooms = [ - "!agents:thehellings.com" - ]; - free_response_rooms = [ - "!agents:thehellings.com" - ]; - require_mention = true; - }; - memory = { - memory_enabled = true; - user_profile_enabled = true; - write_approval = true; - }; - model.default = "anthropic/claude-opus-4.8"; - quick_commands = { - disk = { - type = "exec"; - command = "df -h"; - }; - free = { - type = "exec"; - command = "free -h"; - }; - restart = { - type = "alias"; - target = "/gateway restart"; - }; - }; - skills = { - guard_agent_created = true; - write_approval = true; - }; - stt = { - enabled = true; - echo_transcripts = true; - provider = "local"; - local.model = "medium"; - }; - terminal = { - backend = "local"; - }; - tool_output = { - max_bytes = 50000; - max_lines = 2000; - max_line_length = 2000; - }; - toolsets = [ "all" ]; - worktree = true; # Enable multiple agents in the same repo - }; - }; - nebula.networks."nebula.thehellings.com" = { - tun.disable = true; - }; - openssh = { - enable = true; - openFirewall = true; - settings = { - PermitRootLogin = "yes"; - PasswordAuthentication = true; - PermitEmptyPasswords = "yes"; - }; - }; - wyoming.faster-whisper.servers.medium = { - enable = true; - device = "cpu"; - initialPrompt = '' - The user's name is 'Greg Hellings'. The street he lives on is 'Kardinal Court' - in 'Midlothian'. Keep these in mind as they are often misspelled. - ''; - language = "en"; - model = "medium"; - uri = "tcp://127.0.0.1:10300"; - sttLibrary = "faster-whisper"; - }; - }; - - systemd.suppressedSystemUnits = [ - "dev-mqueue.mount" - "sys-kernel-debug.mount" - "sys-fs-fuse-connections.mount" - ]; -}