Add CLAUDE.md and update Doom Emacs config

- Add CLAUDE.md for Claude Code guidance
- Update gptel config to use Claude Sonnet 4 with key from ~/.secrets/claude_key
- Update elfeed filters to exclude -wait tag
- Enable terraform module in init.el
- Update org agenda files for 2026
- Fix org-hugo link rendering for vanilla Markdown

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Shawn Borton 2026-02-21 13:43:50 -06:00
parent c0186c8b7e
commit 5594248f21
3 changed files with 105 additions and 14 deletions

View file

@ -30,8 +30,8 @@
window-resize-pixelwise t
)
;;; (setq auth-sources "~/.authinfo.gpg")
(setq auth-sources
'((:source "~/.authinfo.gpg")))
;;;(setq auth-sources
;;; '((:source "~/.authinfo.gpg")))
(display-time-mode 1)
(global-subword-mode 1)
@ -339,8 +339,8 @@
"Select a default filter and update elfeed."
(interactive)
(let* ((filters
'(("Default - 3 Days" . "@3-days-ago +unread -Sports -Videos")
("Default - 7 Days" . "@7-days-ago +unread -Sports -Videos")
'(("Default - 3 Days" . "@3-days-ago +unread -Sports -Videos -wait")
("Default - 7 Days" . "@7-days-ago +unread -Sports -Videos -wait")
("Default with Videos" . "@7-days-ago +unread")
("Primary - 7 Days" . "@7-days-ago +unread +primary")
("Secondary - 7 Days" . "@7-days-ago +unread +secondary")
@ -386,7 +386,7 @@
(interactive)
;; (zen/toggle)
(buffer-face-mode)
(linum-mode 0)
;;(linum-mode 0)
(blink-cursor-mode)
(visual-line-mode 1)
(setq truncate-lines nil
@ -420,7 +420,7 @@
(set-face-attribute (car face) nil :font "Overpass Nerd Font" :weight 'regular :height (cdr face)))
;; Ensure that anything that should be fixed-pitch in Org files appears that way
(set-face-attribute 'org-block unspecified :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-hide nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
@ -433,8 +433,7 @@
;; (set-face-attribute (car face) nil :font "Source Code Pro" :weight 'regular :height (cdr face)))
;; (set-face-attribute (car face) nil :font "SauceCodePro" :height (cdr face))))
;; AI
(after! chatgpt-shell
(setq chatgpt-shell-openai-key sbinfo/open-ai-key))
@ -444,9 +443,23 @@
(setq org-ai-use-auth-source nil)
(setq org-ai-openai-api-token sbinfo/open-ai-key))
(gptel-make-anthropic "Claude" ;Any name you want
:stream t ;Streaming responses
:key (auth-source-search :host "claude.ai"))
(use-package! gptel
:custom
;;(setq gptel-model "claude-3-7-sonnet-20250219")
(setq gptel-model "claude-sonnet-4-20250514")
:config
(defun gptel-add-key ()
"Read API key from file and ensure it's clean."
(string-trim
(with-temp-buffer
(insert-file-contents "~/.secrets/claude_key")
(buffer-string))))
(setq gptel-backend
(gptel-make-anthropic "Claude"
:stream t
:key #'gptel-add-key)))
;; (use-package! gptel
;; :config
;; )
@ -460,7 +473,7 @@
(add-hook 'org-mode-hook #'sbinfo/org-mode-setup)
(setq org-directory "~/org/"
org-agenda-files '("agenda.org" "goals_2025.org" "job_search_2022.org")
org-agenda-files '("agenda.org" "goals_2026.org")
org-agenda-start-with-follow-mode t
org-default-notes-file (expand-file-name "notes.org" org-directory)
org-ellipsis " ▼ "
@ -500,7 +513,7 @@
(file "~/org/dalvsedmwcf2025.org")
(file "~/org/templates/playoffcapture.orgtmpl") :unnarrowed t)
("hr" "Regular Game" entry
(file "~/org/dallasstars20242025.org")
(file "~/org/dallasstars20252026.org")
(file "~/org/templates/regular.orgtmpl") :unnarrowed t)
("i" "IT Request" checkitem
(file+headline "~/org/notes.org" "Future IT Requests")
@ -629,3 +642,28 @@
(after! ledger-mode
(setq ledger-binary-path "hledger.sh")
(setq ledger-default-date-format "%Y-%m-%d"))
(defun my/org-hugo-link-vanilla-markdown (link desc info)
"Render org links as vanilla Markdown links instead of Hugo relref."
(let* ((type (org-element-property :type link))
(raw-path (org-element-property :path link))
(path raw-path))
(cond
;; File links - convert to plain markdown
((string= type "id")
(format "[%s](%s)" (or desc path) path))
;; Fuzzy/internal links - convert to anchor links
((string= type "fuzzy")
(format "[%s](#%s)" (or desc path)
(org-hugo-slug path)))
;; Default: use original behavior for other link types
(t nil))))
(defun my/org-hugo-link-advice (orig-fun link desc info)
"Advice to use vanilla Markdown links."
(or (my/org-hugo-link-vanilla-markdown link desc info)
(funcall orig-fun link desc info)))
(advice-add 'org-hugo-link :around #'my/org-hugo-link-advice)
;; (advice-remove 'org-hugo-link #'my/org-hugo-link-advice)