Compare commits

...

6 commits

Author SHA1 Message Date
61d9355c0e
Use gptel tools
Some checks failed
/ test (push) Has been cancelled
2025-04-06 17:23:26 +02:00
b58c3c4d31
Use gemini 2025-04-06 17:23:00 +02:00
dc30a6a437
gptel shortcuts 2025-04-06 17:22:11 +02:00
8f73eca404
Disable eshell-atuin 2025-04-06 17:21:58 +02:00
f546beea17
Use meow-tree-sitter 2025-04-06 17:21:45 +02:00
d0e16f75f7
Sign git commits with id_ed25519 instead of id_rsa 2025-04-06 17:21:17 +02:00
2 changed files with 68 additions and 6 deletions

View file

@ -214,6 +214,8 @@
:custom :custom
(meow-use-clipboard 't) (meow-use-clipboard 't)
:config :config
(require 'meow-tree-sitter)
(meow-tree-sitter-register-defaults)
(add-hook 'after-make-frame-functions (defun ccr/meow--prepare-face (_) (add-hook 'after-make-frame-functions (defun ccr/meow--prepare-face (_)
(meow--prepare-face) (meow--prepare-face)
(remove-hook 'after-make-frame-functions 'ccr/meow--prepare-face))) (remove-hook 'after-make-frame-functions 'ccr/meow--prepare-face)))
@ -698,8 +700,8 @@
:custom ((eshell-command-not-found-command "command-not-found")) :custom ((eshell-command-not-found-command "command-not-found"))
:hook ((eshell-mode . eshell-command-not-found-mode))) :hook ((eshell-mode . eshell-command-not-found-mode)))
(use-package eshell-atuin ;; (use-package eshell-atuin
:hook ((eshell-mode . eshell-atuin-mode))) ;; :hook ((eshell-mode . eshell-atuin-mode)))
(use-package eshell-syntax-highlighting (use-package eshell-syntax-highlighting
:custom :custom
@ -981,22 +983,82 @@ This is meant to be an helper to be called from the window manager."
(use-package gptel (use-package gptel
:custom :custom
(gptel-model 'qwen/qwen-max) (gptel-model 'google/gemini-2.0-flash-001)
(gptel-backend (gptel-make-openai "OpenRouter" (gptel-backend (gptel-make-openai "OpenRouter"
:host "openrouter.ai" :host "openrouter.ai"
:endpoint "/api/v1/chat/completions" :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 "OPENAI_API_KEY_PATH")))
:stream t :stream t
:models '(qwen/qwen-max deepseek/deepseek-chat)) :models '(google/gemini-2.0-flash-001))
) )
(gptel-default-mode 'org-mode) (gptel-default-mode 'org-mode)
(gptel-org-branching-context nil) ;; this is cool but I don't feel comfortable with it (gptel-org-branching-context nil) ;; this is cool but I don't feel comfortable with it
(gptel-use-tools 't)
:bind
("C-c a a" . gptel-add)
("C-c a f" . gptel-add-file)
("C-c a r" . gptel-context-remove-all)
("C-c a " . gptel-menu)
:config :config
(require 'gptel-curl) (require 'gptel-curl)
;; (add-hook 'gptel-post-response-functions 'gptel-end-of-response) ;; (add-hook 'gptel-post-response-functions 'gptel-end-of-response)
;; (add-hook 'gptel-post-stream-hook 'gptel-auto-scroll) ;; (add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)
(setq gptel-tools (mapcar (lambda (tool) (apply #'gptel-make-tool tool))
'((
:name "create_file"
:function (lambda (path filename content)
(let ((full-path (expand-file-name filename path)))
(with-temp-buffer
(insert content)
(write-file full-path))
(format-read "Created file %s in %s" filename path)))
:description "Create a new file with the specified content"
:args (list '(:name "path"
:type string
:description "The directory where to create the file")
'(:name "filename"
:type string
:description "The name of the file to create")
'(:name "content"
:type string
:description "The content to write to the file"))
:category "filesystem"
)
(
:name "run_command"
:confirm 't
:function (lambda (command)
(shell-command-to-string command))
:description "Run arbitrary commands"
:args (list '(:name "command"
:type string
:description "The content to run e.g. 'ls *' or 'fd <pattern> <path>'"))
)
(
:name "get_weather"
:function (lambda (location)
(url-retrieve-synchronously "api.weather.com/..."
location unit))
:description "Get the current weather in a given location"
:args (list '(:name "location"
:type string
:description "The city and state, e.g. San Francisco, CA")
'(:name "unit"
:type string
:enum ["celsius" "farenheit"]
:description
"The unit of temperature, either 'celsius' or 'fahrenheit"
:optional t
))
)
))
)
(defun ccr/suggest-eshell-command () (defun ccr/suggest-eshell-command ()
(interactive) (interactive)
(save-excursion (save-excursion

View file

@ -27,11 +27,11 @@ in
rebase.autostash = true; rebase.autostash = true;
github.user = "aciceri"; github.user = "aciceri";
user.signingKey = "/home/${username}/.ssh/id_rsa"; user.signingKey = "/home/${username}/.ssh/id_ed25519";
gpg.format = "ssh"; gpg.format = "ssh";
commit.gpgsign = true; commit.gpgsign = true;
credential.helper = "manager"; credential.helper = "libsecret";
credential.credentialStore = "cache"; credential.credentialStore = "cache";
core = { core = {