diff --git a/flake.lock b/flake.lock index a5a47a5..1fc7c79 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1742599566, - "narHash": "sha256-xr6ntmiUPXSh9o9mJ7og9vxALMQs1EQhIhWUAO2D1M0=", + "lastModified": 1743801669, + "narHash": "sha256-RxQQQCGqywOPbdNrWGbFyFdcrdrXM4YBHW7vYt13OeI=", "owner": "catppuccin", "repo": "nix", - "rev": "5e303e8d7e251868fa79f83bbda69da90aa62402", + "rev": "07beb389d69a52c4dd5895da9553463c3740a26a", "type": "github" }, "original": { @@ -83,11 +83,11 @@ ] }, "locked": { - "lastModified": 1741786315, - "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=", + "lastModified": 1743598667, + "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", "owner": "nix-community", "repo": "disko", - "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de", + "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", "type": "github" }, "original": { @@ -122,11 +122,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1743067111, - "narHash": "sha256-v9VJXx7525gMH6S7WesJM84Dr76jxRubATuBJn4L14o=", + "lastModified": 1743991507, + "narHash": "sha256-sRyA1LOsRSeF8W2drXEuGU2U+actcYEKdk1f+2kDKb8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "5c22a2387d4ac1e1d64d66489e7d3ecb0a30cbcd", + "rev": "ac8af15c5f586879c08cd257b69749f791d94e68", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -387,11 +387,11 @@ ] }, "locked": { - "lastModified": 1743082807, - "narHash": "sha256-qmrCYHVqE6j0TQApfxGx8aRYNdNsqtOrZuH09A+cjTU=", + "lastModified": 1744008831, + "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", "owner": "nix-community", "repo": "home-manager", - "rev": "171915bfce41018528fda9960211e81946d999b7", + "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1743151582, - "narHash": "sha256-aPtMrs2Nwg4ZCN7GQohQXTuRil1FCSUI4RdLGxTf44E=", + "lastModified": 1743964165, + "narHash": "sha256-5vXjK5W+RIveud/Qn4OyVqrZi4pUDefKZsny33dDj+s=", "ref": "refs/heads/main", - "rev": "b52db5e7c120fdf67e914ba9fec648a461e08614", - "revCount": 17743, + "rev": "2ef4b69760af183792a740f425eb371a6aeb0009", + "revCount": 17767, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -505,11 +505,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1741101701, - "narHash": "sha256-Kup8HWWC2AR1j2c9pAjXQXLYmuhyv8sRRfX0o03sNQg=", + "lastModified": 1743812405, + "narHash": "sha256-BedQ9Z3+nqtp9BRjHjJNPUeLIMVbTsP3Udbz0b1cUn0=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "8956d72cf8fa9110dcc5fcbc537adee45a8014f5", + "rev": "6679fd7a8dd4ccf4aa538b82216723861cfe61a2", "type": "github" }, "original": { @@ -569,11 +569,11 @@ }, "nixosHardware": { "locked": { - "lastModified": 1742806253, - "narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=", + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", "type": "github" }, "original": { @@ -632,11 +632,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1740877520, - "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", + "lastModified": 1743296961, + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "147dee35aab2193b174e4c0868bd80ead5ce755c", + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", "type": "github" }, "original": { @@ -647,11 +647,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1742937945, - "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", + "lastModified": 1743813633, + "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", + "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", "type": "github" }, "original": { @@ -663,11 +663,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742288794, - "narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -695,11 +695,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1742889210, - "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "698214a32beb4f4c8e3942372c694f40848b360d", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -992,11 +992,11 @@ ] }, "locked": { - "lastModified": 1743081648, - "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", "type": "github" }, "original": { diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 9b685a3..192f3fd 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -214,6 +214,8 @@ :custom (meow-use-clipboard 't) :config + (require 'meow-tree-sitter) + (meow-tree-sitter-register-defaults) (add-hook 'after-make-frame-functions (defun ccr/meow--prepare-face (_) (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")) :hook ((eshell-mode . eshell-command-not-found-mode))) -(use-package eshell-atuin - :hook ((eshell-mode . eshell-atuin-mode))) +;; (use-package eshell-atuin +;; :hook ((eshell-mode . eshell-atuin-mode))) (use-package eshell-syntax-highlighting :custom @@ -981,22 +983,82 @@ This is meant to be an helper to be called from the window manager." (use-package gptel :custom - (gptel-model 'qwen/qwen-max) + (gptel-model 'google/gemini-2.0-flash-001) (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"))) :stream t - :models '(qwen/qwen-max deepseek/deepseek-chat)) + :models '(google/gemini-2.0-flash-001)) ) (gptel-default-mode 'org-mode) (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 (require 'gptel-curl) ;; (add-hook 'gptel-post-response-functions 'gptel-end-of-response) ;; (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 '")) + ;; ) + ( + :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 () (interactive) (save-excursion diff --git a/hmModules/git/default.nix b/hmModules/git/default.nix index d040d53..5544eb1 100644 --- a/hmModules/git/default.nix +++ b/hmModules/git/default.nix @@ -27,11 +27,11 @@ in rebase.autostash = true; github.user = "aciceri"; - user.signingKey = "/home/${username}/.ssh/id_rsa"; + user.signingKey = "/home/${username}/.ssh/id_ed25519"; gpg.format = "ssh"; commit.gpgsign = true; - credential.helper = "manager"; + credential.helper = "libsecret"; credential.credentialStore = "cache"; core = {