From 0043273db6af88dea679afc94cf3e49b07affa46 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 21 Aug 2024 12:47:16 +0200 Subject: [PATCH] Things --- flake.lock | 110 +++++------------------------------------- flake.nix | 25 +--------- init.el | 18 +++++++ packages/packages.nix | 8 +-- 4 files changed, 37 insertions(+), 124 deletions(-) diff --git a/flake.lock b/flake.lock index ebadc37..e92d0cd 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1723799695, - "narHash": "sha256-8W/xxCpwQC9LOnwUO0Q7aGAF463ozaxcwQ6/toqtz0M=", + "lastModified": 1724231640, + "narHash": "sha256-1FnV0jk8GAItH71zVTzrhULylMKyXsb4FNmtn9b46Ug=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "3b4f8179de2b4950540d70161854e43fe1010eae", + "rev": "758aa1deb09d8d2dce7bd3a016434e8fcedfab89", "type": "github" }, "original": { @@ -20,38 +20,6 @@ "type": "github" } }, - "extra-package-agenix-el": { - "flake": false, - "locked": { - "lastModified": 1722968702, - "narHash": "sha256-npdFsig2UmLcyTg6gaoPfpBfFjaTJ5vhbhx2zeDJ6B8=", - "owner": "t4ccer", - "repo": "agenix.el", - "rev": "1ef747135401ed4b905acc2b3ec3f909d9cb62e1", - "type": "github" - }, - "original": { - "owner": "t4ccer", - "repo": "agenix.el", - "type": "github" - } - }, - "extra-package-combobulate": { - "flake": false, - "locked": { - "lastModified": 1710175386, - "narHash": "sha256-rww0/6304xZWTFRo1BVcfSDdXOXtlgmfZOxAoOIjYsk=", - "owner": "mickeynp", - "repo": "combobulate", - "rev": "ee82c568ad639605518f62f82fae4bcc0dfdbb81", - "type": "github" - }, - "original": { - "owner": "mickeynp", - "repo": "combobulate", - "type": "github" - } - }, "extra-package-copilot": { "flake": false, "locked": { @@ -68,30 +36,14 @@ "type": "github" } }, - "extra-package-gptel": { - "flake": false, - "locked": { - "lastModified": 1723651088, - "narHash": "sha256-5uu9v8vqadAhFldMnMSyE5FUF5QNN5LlU++hLq34Mvg=", - "owner": "karthink", - "repo": "gptel", - "rev": "17f39f6a8144496252eacc012ef7f1d6a2ac883a", - "type": "github" - }, - "original": { - "owner": "karthink", - "repo": "gptel", - "type": "github" - } - }, "extra-package-indent-bars": { "flake": false, "locked": { - "lastModified": 1723492886, - "narHash": "sha256-U/rzvl2EKT/ia0hvoy0c9muPvJ/5UXhsrO4yiOaaJQI=", + "lastModified": 1724025552, + "narHash": "sha256-xBwtj991wy2O764ATBEILsGk597f7pkCmDfbF+tbjns=", "owner": "jdtsmith", "repo": "indent-bars", - "rev": "209817a622e2fbf9201a6c756928c9f320431449", + "rev": "b72fa098d7c48d61fb4b508071bd77d054268f4e", "type": "github" }, "original": { @@ -100,39 +52,6 @@ "type": "github" } }, - "extra-package-meow-tree-sitter": { - "flake": false, - "locked": { - "lastModified": 1719843724, - "narHash": "sha256-XdTeUq1J/zKoYaIDbl86LYuhJZJbaLFEpz7i5CxE8js=", - "owner": "skissue", - "repo": "meow-tree-sitter", - "rev": "d8dce964fac631a6d44b650a733075e14854159c", - "type": "github" - }, - "original": { - "owner": "skissue", - "repo": "meow-tree-sitter", - "type": "github" - } - }, - "extra-package-nix-ts-mode": { - "flake": false, - "locked": { - "lastModified": 1705596103, - "narHash": "sha256-jEUmhfLE7cFan4/PF4qBiEOLsjM3Q4iSDTlM+0CYwZg=", - "owner": "antifuchs", - "repo": "nix-ts-mode", - "rev": "0ef4e663add03d026a1804f57ac7d5453a635b15", - "type": "github" - }, - "original": { - "owner": "antifuchs", - "ref": "improve-indented-string-indentation", - "repo": "nix-ts-mode", - "type": "github" - } - }, "extra-package-notmuch-notify": { "flake": false, "locked": { @@ -226,11 +145,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723637854, - "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", + "lastModified": 1723991338, + "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", + "rev": "8a3354191c0d7144db9756a74755672387b702ba", "type": "github" }, "original": { @@ -254,11 +173,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1723688146, - "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", + "lastModified": 1724098845, + "narHash": "sha256-D5HwjQw/02fuXbR4LCTo64koglP2j99hkDR79/3yLOE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", + "rev": "f1bad50880bae73ff2d82fafc22010b4fc097a9c", "type": "github" }, "original": { @@ -287,13 +206,8 @@ "root": { "inputs": { "emacs-overlay": "emacs-overlay", - "extra-package-agenix-el": "extra-package-agenix-el", - "extra-package-combobulate": "extra-package-combobulate", "extra-package-copilot": "extra-package-copilot", - "extra-package-gptel": "extra-package-gptel", "extra-package-indent-bars": "extra-package-indent-bars", - "extra-package-meow-tree-sitter": "extra-package-meow-tree-sitter", - "extra-package-nix-ts-mode": "extra-package-nix-ts-mode", "extra-package-notmuch-notify": "extra-package-notmuch-notify", "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", diff --git a/flake.nix b/flake.nix index 13c05fc..11d8b45 100644 --- a/flake.nix +++ b/flake.nix @@ -10,33 +10,12 @@ url = "github:jdtsmith/indent-bars"; flake = false; }; - extra-package-nix-ts-mode = { - url = "github:antifuchs/nix-ts-mode/improve-indented-string-indentation"; - flake = false; - }; - extra-package-combobulate = { - url = "github:mickeynp/combobulate"; - flake = false; - }; - extra-package-agenix-el = { - url = "github:t4ccer/agenix.el"; - flake = false; - }; - extra-package-copilot = { - url = "github:zerolfx/copilot.el"; - flake = false; - }; extra-package-notmuch-notify = { url = "github:firmart/notmuch-notify"; flake = false; }; - extra-package-meow-tree-sitter = { - url = "github:skissue/meow-tree-sitter"; - flake = false; - }; - # TODO remove when there will be a new release including GPT-4o - extra-package-gptel = { - url = "github:karthink/gptel"; + extra-package-copilot = { + url = "github:zerolfx/copilot.el"; flake = false; }; }; diff --git a/init.el b/init.el index cecf89b..d67be8f 100644 --- a/init.el +++ b/init.el @@ -784,7 +784,13 @@ This is meant to be an helper to be called from the window manager." (use-package gptel :custom (gptel-api-key (getenv "OPENAI_API_KEY")) + (gptel-model "gpt-4o") :config + (require 'gptel-curl) + + (add-hook 'gptel-post-response-functions 'gptel-end-of-response) + (add-hook 'gptel-post-stream-hook 'gptel-auto-scroll) + (defun ccr/suggest-eshell-command () (interactive) (save-excursion @@ -803,6 +809,18 @@ This is meant to be an helper to be called from the window manager." (message "ChatGPT response failed with: %s" (plist-get info :status)) (kill-region start-pos end-pos) (insert response))))))) + + (add-to-list 'display-buffer-alist + '("^\\*ChatGPT\\*" + (display-buffer-full-frame) + (name . "floating"))) + + (defun ccr/start-chatgpt () ;; Used from outside Emacs by emacsclient --eval + (display-buffer (gptel "*ChatGPT*")) + (set-frame-name "floating") + ;; (delete-other-windows) + ;; (add-hook 'kill-buffer-hook 'delete-frame nil 't) + ) ;; destroy frame on exit ) (use-package copilot diff --git a/packages/packages.nix b/packages/packages.nix index cfaad06..2b115bc 100644 --- a/packages/packages.nix +++ b/packages/packages.nix @@ -4,10 +4,8 @@ pkgs: epkgs: let depsPerPackage = { indent-bars = [elpaPackages.compat]; - copilot = [melpaPackages.editorconfig melpaPackages.dash melpaPackages.s melpaPackages.f]; notmuch-notify = [melpaPackages.alert melpaPackages.notmuch]; - gptel = [pkgs.emacsPackages.transient elpaPackages.compat]; - meow-tree-sitter = [melpaPackages.meow]; + copilot = [melpaPackages.editorconfig melpaPackages.dash melpaPackages.s melpaPackages.f]; }; overrideAttrsPerPackage = { @@ -40,6 +38,7 @@ pkgs: epkgs: let (package: ! builtins.elem package.pname (builtins.attrNames extraPackages)) (with epkgs.melpaPackages; [ meow + meow-tree-sitter dracula-theme nord-theme catppuccin-theme @@ -75,6 +74,7 @@ pkgs: epkgs: let cape which-key nix-mode + nix-ts-mode agenix unisonlang-mode purescript-mode @@ -101,6 +101,8 @@ pkgs: epkgs: let consult-notmuch poly-org casual-calc + gptel + agenix # org-re-reveal # FIXME very not nice hash mismatch when building # gptel # TODO uncomment when there will be a new release including GPT-4o ]) ++ (with elpaPackages; [