diff --git a/flake.lock b/flake.lock index aa4af4f..312e8b5 100644 --- a/flake.lock +++ b/flake.lock @@ -113,43 +113,21 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "hermes-agent": { "inputs": { "flake-parts": "flake-parts", "nixpkgs": "nixpkgs_2", "npm-lockfile-fix": "npm-lockfile-fix", "pyproject-build-systems": "pyproject-build-systems", - "pyproject-nix": "pyproject-nix_2", - "uv2nix": "uv2nix_2" + "pyproject-nix": "pyproject-nix", + "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1783122776, - "narHash": "sha256-Qvtj2AGQKdXrV5u7Z8hxNEDXKaeovZvX2Z2cjZKItPA=", + "lastModified": 1784144249, + "narHash": "sha256-Ud5AegeU8Fm+0g1czJP+8riQEw4+kuefo2yl0PLcEMw=", "owner": "NousResearch", "repo": "hermes-agent", - "rev": "5445e42b87b9918d5b1bfa9f4eadd8e4bb10ff37", + "rev": "8b209e0dd7b8e308d5b923fa80f7a72f71042636", "type": "github" }, "original": { @@ -189,11 +167,11 @@ ] }, "locked": { - "lastModified": 1782226699, - "narHash": "sha256-xSafE2wgqjunLwrxPYEiTvOUDMy2PjFxDpzw8uqDWL4=", + "lastModified": 1783395473, + "narHash": "sha256-oIIP2d7qELHfumkhHuofn7tryoAcuBwtYt0mDSyHF4s=", "owner": "snugnug", "repo": "hjem-rum", - "rev": "c9e1ee9cccc13f462f874d81f6cb97f2a4293afa", + "rev": "64e395fe298cd25279c6086c23ae53636e7dbf1f", "type": "github" }, "original": { @@ -298,11 +276,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1783110106, - "narHash": "sha256-PRnnFkTfQ+sQHSrcWw0512zEMNp5/1WHJeVuDf6FmxI=", + "lastModified": 1784118734, + "narHash": "sha256-sWiTb0IOA1MoLYfUIvGlG4Ahyu9gbtiOiCa3xz7HaRc=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "14fa1fd0273973b7a40966b4fa9e081d6bf67dae", + "rev": "d7fc7240f4efd0abac1c1f23f09b78b30b4e0782", "type": "github" }, "original": { @@ -597,11 +575,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1782467914, - "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", + "lastModified": 1783522502, + "narHash": "sha256-iffAls3iaNTyJC2faYcUXSI+Gp02cDjYl+MygxKl2GI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "rev": "0bb7ec54c8483066ec9d7720e780a5caa71f8612", "type": "github" }, "original": { @@ -613,11 +591,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1782959384, - "narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=", + "lastModified": 1784007870, + "narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0", + "rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698", "type": "github" }, "original": { @@ -651,18 +629,17 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", - "gitignore": "gitignore", "nixpkgs": [ "hyprland", "nixpkgs" ] }, "locked": { - "lastModified": 1781733627, - "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "lastModified": 1783008725, + "narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe", "type": "github" }, "original": { @@ -677,8 +654,14 @@ "hermes-agent", "nixpkgs" ], - "pyproject-nix": "pyproject-nix", - "uv2nix": "uv2nix" + "pyproject-nix": [ + "hermes-agent", + "pyproject-nix" + ], + "uv2nix": [ + "hermes-agent", + "uv2nix" + ] }, "locked": { "lastModified": 1772555609, @@ -695,28 +678,6 @@ } }, "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", @@ -737,28 +698,6 @@ "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": { "agenix": "agenix", @@ -803,37 +742,13 @@ "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=", @@ -876,11 +791,11 @@ ] }, "locked": { - "lastModified": 1782311043, - "narHash": "sha256-07zLc2M3/ax+JsjxGTft17/Joua41LHE9/9AC/F9zeU=", + "lastModified": 1782644412, + "narHash": "sha256-/iSa/bL1QQFLv+uJ9gI0N87J8gOeZXvca7EjoPGKE6w=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "882ad01e195ce201b07c618bbee44a0cad8b9e5a", + "rev": "c01c99fc278ec68c82e9865923088f043c7c1621", "type": "github" }, "original": { diff --git a/modules/hermes/hermes.nix b/modules/hermes/hermes.nix index ccd5a6f..9422179 100644 --- a/modules/hermes/hermes.nix +++ b/modules/hermes/hermes.nix @@ -40,27 +40,15 @@ user_profile_enabled = true; }; - model_aliases = { - bedrock = { - model = "us.anthropic.claude-sonnet-4-6"; - provider = "bedrock"; - }; + display = { + credits_notices = true; }; - bedrock = { - discovery = { - enable = true; - provider_filter = [ "anthropic" ]; - }; + delegation = { + model = "openai/gpt-5.6-luna"; + provider = "nous"; }; - custom_providers = [ - { - name = "local"; - base_url = "http://10.0.1.139:42069/v1"; - } - ]; - discord = { group_sessions_per_user = false; reactions = false; @@ -81,12 +69,12 @@ ]; systemd = { - paths.hermes-perms-watch = { - description = "Watch hermes data dir for permission changes"; - wantedBy = [ "multi-user.target" ]; - pathConfig = { - PathChanged = "/var/lib/hermes/.hermes"; - Unit = "hermes-perms-fix.service"; + timers.hermes-perms-maintenance = { + description = "Periodically fix hermes file permissions"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "10s"; + OnUnitActiveSec = "30s"; }; }; @@ -106,11 +94,12 @@ }; }; - hermes-perms-fix = { - description = "Fix hermes data dir permissions"; + hermes-perms-maintenance = { + description = "Fix hermes file permissions for gateway access"; serviceConfig = { Type = "oneshot"; - ExecStart = "${pkgs.coreutils}/bin/chmod 770 -R /var/lib/hermes/.hermes"; + ExecStartPre = "${pkgs.findutils}/bin/find /var/lib/hermes/.hermes/ -type d -not -perm -2770 -exec ${pkgs.coreutils}/bin/chmod 2770 {} +"; + ExecStart = "${pkgs.findutils}/bin/find /var/lib/hermes/.hermes/ -type f -not -perm -0660 -exec ${pkgs.coreutils}/bin/chmod 660 {} +"; }; }; };