parent
0afba6526f
commit
0043273db6
4 changed files with 37 additions and 124 deletions
110
flake.lock
generated
110
flake.lock
generated
|
@ -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",
|
||||
|
|
25
flake.nix
25
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;
|
||||
};
|
||||
};
|
||||
|
|
18
init.el
18
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
|
||||
|
|
|
@ -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; [
|
||||
|
|
Reference in a new issue