This commit is contained in:
2025-11-22 13:52:03 +08:00
parent c23a1ba64a
commit fafe8f4ab5
6 changed files with 49 additions and 42 deletions
+5
View File
@@ -6,6 +6,7 @@
;; Core gptel setup
(use-package! gptel
:defer t
:config
;; Default backend: OpenRouter
(setq gptel-model 'google/gemini-2.5-flash
@@ -79,6 +80,7 @@
(use-package! gptel-quick
:after gptel
:defer t
:config
;; Include context from gptel-add if available
(setq gptel-quick-use-context t)
@@ -93,6 +95,7 @@
(use-package! gptel-extensions
:after gptel
:defer t
:config
(map! :leader
(:prefix "A"
@@ -106,6 +109,7 @@
(use-package! gptel-autocomplete
:after gptel
:defer t
:commands (gptel-complete gptel-accept-completion)
:config
;; Configure context size
@@ -176,6 +180,7 @@
;;; Claude Code Configuration
(use-package! claude-code
:defer t
:config
;; Use vterm backend
(setq claude-code-terminal-backend 'vterm)
+5
View File
@@ -6,3 +6,8 @@
(load! "development")
(load! "org")
(load! "ai")
;; Performance tweaks
(setq gc-cons-threshold 100000000 ; Increase GC threshold to 100MB
gc-cons-percentage 0.6)
(run-with-idle-timer 5 t #'garbage-collect)
+9 -7
View File
@@ -34,7 +34,9 @@
;; Show more detailed annotations
(setq corfu-show-annotations t
corfu-annotate-max-width 50))
corfu-annotate-max-width 50)
)
;; If using LSP, configure to show more details
(after! lsp-mode
@@ -43,9 +45,7 @@
lsp-completion-show-label-description t ; Show more details in label
))
(after! lsp-haskell
(setq lsp-haskell-plugin-fourmolu-config-path "fourmolu -o -XImportQualifiedPost -o -XOverloadedStrings -o -XTypeApplications -o -XScopedTypeVariables -o -XGADTs -o -XDataKinds -o -XTypeFamilies -o -XFlexibleContexts -o -XFlexibleInstances -o -XMultiParamTypeClasses -o -XRankNTypes -o -XExistentialQuantification")
)
;; Haskell LSP uses HLS by default in Doom; removed outdated fourmolu config
(use-package! bnf-mode
:mode "\\.bnf\\'"
@@ -122,9 +122,11 @@
(advice-add 'lsp-format-buffer :around
(lambda (orig-fun &rest args)
(if (eq major-mode 'nix-mode)
(if (in-nixpkgs-repo-p)
(format-all-buffer 'nixfmt)
(format-all-buffer 'alejandra))
(let ((fmt (if (in-nixpkgs-repo-p)
(executable-find "nixfmt")
(executable-find "alejandra"))))
(when fmt
(format-all-buffer (intern (file-name-nondirectory fmt)))))
(apply orig-fun args))))))
;; Enable format-on-save globally if desired
-1
View File
@@ -159,7 +159,6 @@
+gnuplot
+hugo
+journal
+jupyter
+link
+noter
+pandoc
+28 -34
View File
@@ -1,33 +1,10 @@
;;; org.el -*- lexical-binding: t; -*-
(defun +org--restart-mode-h ()
"Restart `org-mode', but only once."
(remove-hook 'doom-switch-buffer-hook #'+org--restart-mode-h
'local)
(delq! (current-buffer) org-agenda-new-buffers)
(let ((file buffer-file-name)
(old-buffer (current-buffer))
(inhibit-redisplay t)
new-buffer)
(kill-buffer)
(setq new-buffer (find-file file))
(unless (buffer-live-p old-buffer)
(make-indirect-buffer new-buffer old-buffer 'clone))))
(defun +org--restart-mode-h ()
"Restart `org-mode', but only once."
(remove-hook 'doom-switch-buffer-hook #'+org--restart-mode-h
'local)
(delq! (current-buffer) org-agenda-new-buffers)
(let ((file buffer-file-name)
(inhibit-redisplay t))
(kill-buffer)
(find-file file)))
(defun +org--restart-mode-h ()
"Restart `org-mode', but only once."
"Restart org-mode on buffer switch."
(remove-hook 'doom-switch-buffer-hook #'+org--restart-mode-h 'local)
(cl-delete (current-buffer) org-agenda-new-buffers :test 'eq)
(quiet! (org-mode-restart))
(delq! (current-buffer) org-agenda-new-buffers)
(run-hooks 'find-file-hook))
(add-hook! 'org-agenda-finalize-hook
@@ -52,15 +29,32 @@
(letf! ((#'+org--restart-mode-h #'ignore))
(apply fun args))))
;;(use-package! org-roam
;; :after org
;; :config
;; :init
;; (setq org-roam-directory "~/org/roam") ; No file-truename needed in Doom
;; :config
;; (advice-remove 'org-roam-db-query '+org-roam-try-init-db-a)
;; (org-roam-db-autosync-mode)
;; (setq org-roam-completion-everywhere t))
(use-package! org-roam
:after org
:custom
(org-roam-directory "~/org/roam")
(org-roam-completion-everywhere t)
(org-roam-capture-templates
'(("d" "default" plain
"%?"
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org"
"#+title: ${title}\n")
:unnarrowed t)
("r" "reference" plain
"%?"
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org"
"#+title: ${title}\n#+filetags: :reference:\n")
:unnarrowed t)
("p" "project" plain
"\n* Goals\n\n%?\n\n* Tasks\n\n* Notes\n\n"
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org"
"#+title: ${title}\n#+filetags: :project:\n")
:unnarrowed t)))
:config
(org-roam-db-autosync-mode)
:bind (("C-c n l" . org-roam-buffer-toggle)
("C-c n f" . org-roam-node-find)
("C-c n r" . org-roam-node-random)))
; (use-package! org-roam
; :custom
+2
View File
@@ -45,6 +45,8 @@
(package! inheritenv
:recipe (:host github :repo "purcell/inheritenv"))
(package! consult)
(package! claude-code
:recipe (:host github :repo "stevemolitor/claude-code.el" :branch "main" :depth 1
:files ("*.el" (:exclude "images/*"))))