diff --git a/hmModules/emacs/default.nix b/hmModules/emacs/default.nix index ffd5c5a..3e46174 100644 --- a/hmModules/emacs/default.nix +++ b/hmModules/emacs/default.nix @@ -12,7 +12,7 @@ in { systemd.user.sessionVariables = { EDITOR = lib.mkForce "emacsclient -c"; - OPENAI_API_KEY_PATH = age.secrets.chatgpt-token.path; + OPENROUTER_API_KEY_PATH = age.secrets.openrouter-api-key.path; }; programs.emacs = { enable = true; @@ -50,6 +50,7 @@ in math-preview emacs-lsp-booster texlive.combined.scheme-full + aider-chat-full ] ++ (with hunspellDicts; [ en_US-large diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 843265a..0ff7de5 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -1032,13 +1032,22 @@ This is meant to be an helper to be called from the window manager." (:map org-mode-map (("M-p" . org-download-clipboard)))) +(use-package aidermacs + :bind (("C-c A" . aidermacs-transient-menu)) + :init + (require 'f) + (setenv "OPENROUTER_API_KEY" (f-read-text (getenv "OPENROUTER_API_KEY_PATH"))) + :custom + (aidermacs-use-architect-mode t) + (aidermacs-default-model "openrouter/deepseek/deepseek-chat-v3-0324")) + (use-package gptel :custom (gptel-model 'google/gemini-2.5-flash-preview) (gptel-backend (gptel-make-openai "OpenRouter" :host "openrouter.ai" :endpoint "/api/v1/chat/completions" - :key (lambda () (require 'f) (f-read-text (getenv "OPENAI_API_KEY_PATH"))) + :key (lambda () (require 'f) (f-read-text (getenv "OPENROUTER_API_KEY_PATH"))) :stream t :models '(google/gemini-2.5-flash-preview)) ) diff --git a/hosts/default.nix b/hosts/default.nix index 170cd88..d070094 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -33,7 +33,7 @@ ]; secrets = { "deltaflyer-wireguard-private-key" = { }; - "chatgpt-token".owner = "ccr"; + "openrouter-api-key".owner = "ccr"; }; }; @@ -54,7 +54,7 @@ ]; secrets = { "kirk-wireguard-private-key" = { }; - "chatgpt-token".owner = "ccr"; + "openrouter-api-key".owner = "ccr"; "cachix-personal-token".owner = "ccr"; "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; @@ -81,7 +81,7 @@ ]; secrets = { "picard-wireguard-private-key" = { }; - "chatgpt-token".owner = "ccr"; + "openrouter-api-key".owner = "ccr"; "cachix-personal-token".owner = "ccr"; "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; @@ -143,7 +143,7 @@ ]; secrets = { "pike-wireguard-private-key" = { }; - "chatgpt-token".owner = "ccr"; + "openrouter-api-key".owner = "ccr"; "cachix-personal-token".owner = "ccr"; "git-workspace-tokens".owner = "ccr"; "autistici-password".owner = "ccr"; diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 4852658..2d1950a 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -208,6 +208,7 @@ let visual-replace org-super-agenda tidal + aidermacs # org-re-reveal # FIXME very not nice hash mismatch when building ] ) diff --git a/secrets/chatgpt-token.age b/secrets/openrouter-api-key.age similarity index 100% rename from secrets/chatgpt-token.age rename to secrets/openrouter-api-key.age diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 8646ff3..dd664fc 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -84,7 +84,7 @@ with keys.users; ccr-ssh sisko ]; - "chatgpt-token.age".publicKeys = [ + "openrouter-api-key.age".publicKeys = [ ccr-ssh kirk mothership