From b89f749ae0f1d84fc0b846cd0bdc0f6b27b4c56e Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Tue, 29 Apr 2025 15:53:07 -0400 Subject: [PATCH] update config --- .gitignore | 1 + emacs.d/init.el | 110 ++++++++++++++++++++++++++++------------------- gitconfig | 4 ++ gitignore_global | 1 + zshrc.d/.env.zsh | 29 +++++++++++++ 5 files changed, 100 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index 8e1e839..a710536 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ emacs.d/eshell emacs.d/multisession/ emacs.d/quelpa/ emacs.d/tree-sitter/ +.aider* diff --git a/emacs.d/init.el b/emacs.d/init.el index c113a0a..b449b2e 100644 --- a/emacs.d/init.el +++ b/emacs.d/init.el @@ -145,7 +145,7 @@ ;; Enable center cursor (use-package centered-cursor-mode - :defer t + :ensure t :load-path "vendor/" :functions global-centered-cursor-mode :config @@ -163,7 +163,6 @@ ;; https://seagle0128.github.io/doom-modeline/ (use-package doom-modeline :ensure t - :defer t :hook (after-init . doom-modeline-mode))) @@ -172,6 +171,7 @@ ;; Configure osx-clipboard ;; https://github.com/joddie/osx-clipboard-mode (use-package osx-clipboard + :ensure t :diminish osx-clipboard-mode :config (osx-clipboard-mode t)) @@ -180,7 +180,6 @@ ;; https://emacs-helm.github.io/helm/ (setq personal-keybindings nil) (use-package helm-config - :defer t :ensure helm :diminish helm-mode :bind (("M-x" . helm-M-x) @@ -193,13 +192,13 @@ (helm-mode 1)) (use-package helm-ag - :defer t + :ensure t :requires helm) ;; Configure projectile ;; https://www.projectile.mx/en/latest/ (use-package projectile - :defer 1 + :ensure t :delight '(:eval (concat " " (projectile-project-name))) :functions (projectile-project-p projectile-project-root @@ -217,13 +216,13 @@ ;; Configure helm-projectile ;; https://github.com/bbatsov/helm-projectile (use-package helm-projectile - :defer 1) + :ensure t) ;; Configure company-mode ;; http://company-mode.github.io/ (use-package company - :defer 1 + :ensure t :diminish company-mode :init (setq company-idle-delay 0.2 @@ -238,7 +237,7 @@ ;; Configure ws-butler ;; https://github.com/lewang/ws-butler (use-package ws-butler - :defer 1 + :ensure t :init (setq ws-butler-keep-whitespace-before-point nil require-final-newline t) @@ -249,40 +248,39 @@ ;; Configure diminish ;; https://github.com/myrjola/diminish.el (use-package diminish - :defer t) - + :ensure t) ;; Smartparens ;; https://github.com/Fuco1/smartparens (use-package smartparens - :defer t + :ensure t :diminish :config (smartparens-global-mode)) (use-package auth-source - :defer t + :ensure t :config (customize-set-variable 'auth-sources (quote (macos-keychain-internet macos-keychain-generic)))) ;; ;; Magit ;; ;; https://magit.vc/ - ;; (use-package magit - ;; :defer 5 - ;; :diminish) + (use-package magit + :ensure t + :diminish) ;; ;; Forge - ;; (use-package forge - ;; :defer 5 - ;; :after magit - ;; :init - ;; (setq forge-topic-list-limit '(100 . 0 )) - ;; (setq forge-topic-list-columns - ;; '(("#" 5 forge-topic-list-sort-by-number (:right-align t) number nil) - ;; ("Title" 50 t nil title nil) - ;; ("State" 10 t nil state nil) - ;; ("Author" 15 t nil author nil) - ;; ))) + (use-package forge + :ensure t + :after magit + :init + (setq forge-topic-list-limit '(100 . 0 )) + (setq forge-topic-list-columns + '(("#" 5 forge-topic-list-sort-by-number (:right-align t) number nil) + ("Title" 50 t nil title nil) + ("State" 10 t nil state nil) + ("Author" 15 t nil author nil) + ))) ;; (defun forge-browse-buffer-file () ;; (interactive) @@ -324,6 +322,7 @@ 'whitespace-cleanup) (use-package lsp-mode + :ensure t :config (setq lsp-enable-file-watchers nil) (setq lsp-auto-guess-root t) @@ -351,6 +350,7 @@ :commands lsp) (use-package lsp-ui + :ensure t :config (setq lsp-ui-doc-enable t) (setq lsp-ui-doc-header t) @@ -363,34 +363,54 @@ :commands lsp-ui-mode) (use-package helm-lsp - :defer t + :ensure t :commands helm-lsp-workspace-symbol) - (use-package wgrep-ag) + (use-package wgrep-ag + :ensure t) - (use-package ellama - :ensure t - :init - (setopt ellama-language "English") - (require 'llm-ollama) - (setopt ellama-keymap-prefix "C-c e") - (setopt ellama-provider - (make-llm-ollama - :chat-model "deepseek-coder:6.7b" :embedding-model "deepseek-coder:6.7b"))) + ;; (use-package ellama + ;; :ensure t + ;; :init + ;; (setopt ellama-language "English") + ;; (require 'llm-ollama) + ;; (setopt ellama-keymap-prefix "C-c e") + ;; (setopt ellama-provider + ;; (make-llm-ollama + ;; :chat-model "deepseek-coder:6.7b" :embedding-model "deepseek-coder:6.7b"))) (use-package copilot - :vc (:url "https://github.com/copilot-emacs/copilot.el" - :rev :newest - :branch "main") + :ensure t :init (add-hook 'prog-mode-hook 'copilot-mode)) + (use-package vterm + :ensure t) + + (use-package aidermacs + :vc (:url "https://github.com/MatthewZMD/aidermacs" :rev "304543cbd756e0c343b8e096dac14faf0920d9cc") + :ensure t + :bind (("C-c a" . aidermacs-transient-menu)) + :config + ;; Use vterm backend (default is comint) + (setq aidermacs-backend 'vterm) + ;; Enable file watching + (setq aidermacs-watch-files t) + ;; Enable/disable showing diffs after changes (default: t) + (setq aidermacs-show-diff-after-change t) + :custom + (setq aidermacs-extra-args '("--thinking-tokens" "16k")) + (aidermacs-use-architect-mode t) + (aidermacs-default-model "anthropic/claude-3-7-sonnet-20250219") + (aidermacs-architect-model "anthropic/claude-3-5-haiku-20241022")) + (use-package treesit-auto - :custom - (treesit-auto-install 'prompt) - :config - (treesit-auto-add-to-auto-mode-alist 'all) - (global-treesit-auto-mode)) + :ensure t + :custom + (treesit-auto-install 'prompt) + :config + (treesit-auto-add-to-auto-mode-alist 'all) + (global-treesit-auto-mode)) ;; ;; Turn `C-]' into a sticky "super" modifier. (define-key local-function-key-map [?\C-\]] 'event-apply-super-modifier) diff --git a/gitconfig b/gitconfig index 3f8e842..10cf22c 100644 --- a/gitconfig +++ b/gitconfig @@ -4,6 +4,7 @@ signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPG5FWUNREaSQ7t/vyc+jNaiq4nmaNC07535tnpN3hCj [alias] + d = diff dc = diff --cached dm = diff origin/main @@ -82,3 +83,6 @@ [tag] sort = version:refname forceSignAnnotated = true + +[url "git@github.com:"] + insteadOf = https://github.com/ diff --git a/gitignore_global b/gitignore_global index 10e18a8..67b0149 100644 --- a/gitignore_global +++ b/gitignore_global @@ -10,3 +10,4 @@ htmlcov *.ccls-cache .gitlab-ci-local .clangd +.aider* diff --git a/zshrc.d/.env.zsh b/zshrc.d/.env.zsh index ae1bea3..a68103a 100644 --- a/zshrc.d/.env.zsh +++ b/zshrc.d/.env.zsh @@ -33,6 +33,35 @@ export HOMEBREW_CASK_OPTS=--require-sha export HOMEBREW_DIR=/opt/homebrew export HOMEBREW_BIN=/opt/homebrew/bin +# Aider +export OLLAMA_API_BASE=http://127.0.0.1:11434 +export AIDER_ANALYTICS_DISABLE=1 +export AIDER_AUTO_COMMITS=0 +export AIDER_GITIGNORE=0 +export AIDER_ARCHITECT=1 +export AIDER_AUTO_ACCEPT_ARCHITECT=0 +export AIDER_MODEL="anthropic/claude-3-5-haiku-20241022" +export AIDER_DIRTY_COMMITS=0 +export AIDER_ATTRIBUTE_AUTHOR=0 +export AIDER_ATTRIBUTE_COMMITTER=0 +export AIDER_COMMIT_PROMPT="You are an expert software engineer that generates concise, \ +one-line Git commit messages based on the provided diffs. +Review the provided context and diffs which are about to be committed to a git repo. +Review the diffs carefully. +Generate a one-line commit message for those changes. +The commit message should be structured as follows: : +Use these for : fix, feat, build, chore, ci, docs, style, refactor, perf, test + +Ensure the commit message: +- Starts with the appropriate prefix. +- Is in the imperative mood (e.g., \"add feature\" not \"added feature\" or \"adding feature\"). +- Does not exceed 72 characters. +- is lower sentence case. +- should not contain a scope, e.g., \"fix:\" not \"fix(core):\". + +Reply only with the one-line commit message, without any additional text, explanations, \ +or line breaks." + # Configure GPG export GPG_TTY=$(tty)