Compare commits

...

4 commits

Author SHA1 Message Date
b8d1c727a1
Use gptel
All checks were successful
/ test (push) Successful in 23s
2024-05-01 09:49:02 +02:00
74e0f203bb
Use nixd instead of nil 2024-05-01 09:48:51 +02:00
a8622fd7d5
Follow mouse 2024-05-01 09:48:40 +02:00
e187e15b85
Remove chatgpt 2024-05-01 09:48:28 +02:00
3 changed files with 27 additions and 15 deletions

View file

@ -22,10 +22,6 @@
url = "github:t4ccer/agenix.el";
flake = false;
};
extra-package-chatgpt = {
url = "github:joshcho/ChatGPT.el";
flake = false;
};
extra-package-copilot = {
url = "github:zerolfx/copilot.el";
flake = false;

36
init.el
View file

@ -48,7 +48,8 @@
(backup-directory-alist `(("." . ,temporary-file-directory)))
(auto-save-files-name-transforms `((".*" ,temporary-file-directory t)))
(backup-by-copying t)
(focus-follows-mouse 't)
(focus-follows-mouse t)
(mouse-autoselect-window t)
:config
(set-face-background 'vertical-border (face-background 'default))
(set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃))
@ -464,7 +465,7 @@
(nix-ts-mode . (lambda ()
(require 'eglot)
(add-to-list 'eglot-server-programs
'(nix-ts-mode . ("nil")))
'(nix-ts-mode . ("nixd")))
;; FIXME `nixd' completion not working, will give it a second try in the future
;; '(nix-ts-mode . ("nixd" :initializationOptions (:eval (:depth 10 :workers 4)
;; :formatting (:command "alejandra")
@ -793,14 +794,29 @@ This is meant to be an helper to be called from the window manager."
("C-c n l" . consult-org-roam-forward-links)
("C-c n r" . consult-org-roam-search))
(use-package chatgpt
(use-package gptel
:custom
(gptel-api-key (getenv "OPENAI_API_KEY"))
:config
(dolist (e '(("spiega" . "Spiega il seguente")
("documenta" . "Documenta il seguente usando la sintassi appropriata in modo che possa essere inserito nel codice")
))
(push e chatgpt-code-query-map))
:bind
("C-c i" . chatgpt-query))
(defun ccr/suggest-eshell-command ()
(interactive)
(save-excursion
(eshell-bol)
(let ((start-pos (point))
(end-pos (line-end-position)))
(gptel-request
(buffer-substring-no-properties start-pos end-pos) ;the prompt
:system "You are proficient with emacs shell (eshell), translate the following to something I could directly prompt to the shell. Your responses should only be code, without explanation or formatting."
:buffer (current-buffer)
:context (cons (set-marker (make-marker) start-pos)
(set-marker (make-marker) end-pos))
:callback
(lambda (response info)
(if (not response)
(message "ChatGPT response failed with: %s" (plist-get info :status))
(kill-region start-pos end-pos)
(insert response)))))))
)
(use-package copilot
:custom
@ -811,7 +827,7 @@ This is meant to be an helper to be called from the window manager."
(use-package pass
:config
(require 'password-store-otp) ;; FIXME use `use-pacakges' idiomatic way
(require 'password-store-otp) ;; FIXME use `use-pacakge' idiomatic way
:bind (("C-c p p" . password-store-copy)
("C-c p o" . password-store-otp-token-copy)

View file

@ -4,7 +4,6 @@ pkgs: epkgs: let
depsPerPackage = {
indent-bars = [elpaPackages.compat];
chatgpt = [melpaPackages.polymode];
copilot = [melpaPackages.editorconfig melpaPackages.dash melpaPackages.s melpaPackages.f];
notmuch-notify = [melpaPackages.alert melpaPackages.notmuch];
};
@ -98,6 +97,7 @@ pkgs: epkgs: let
poly-org
# casual
org-re-reveal
gptel
]) ++ (with elpaPackages; [
delight
kind-icon