Compare commits

..

3 Commits

2 changed files with 134 additions and 24 deletions

View File

@ -236,7 +236,7 @@ Finish up
org-transclusion org-transclusion
valign valign
;; Programming Languages ;; Programming Languages
sly gnuplot
tuareg tuareg
dune dune
merlin merlin
@ -375,7 +375,7 @@ Use Dashboard.el. First load `all-the-icons` for nicer rendering
;; (add-hook 'prog-mode-hook 'olivetti-mode) ;; (add-hook 'prog-mode-hook 'olivetti-mode)
(defun joe/toggle-olivetti-based-on-width () (defun joe/toggle-olivetti-based-on-width ()
(when (derived-mode-p 'prog-mode) (when (derived-mode-p 'prog-mode)
(if (> (window-total-width) 120) (if (> (window-total-width) 140)
(olivetti-mode 1) (olivetti-mode 1)
(olivetti-mode -1)))) (olivetti-mode -1))))
@ -1079,6 +1079,8 @@ Harpoon lets you quickly switch between bookmarked buffers
#+begin_src emacs-lisp #+begin_src emacs-lisp
(add-hook 'after-init-hook (lambda () (winner-mode t))) (add-hook 'after-init-hook (lambda () (winner-mode t)))
;; (setq display-buffer-alist nil)
(setq joe/popper-side-toggle 'right) (setq joe/popper-side-toggle 'right)
(defun joe/window-split-vertical () (interactive) (set 'joe/popper-side-toggle 'right)) (defun joe/window-split-vertical () (interactive) (set 'joe/popper-side-toggle 'right))
(defun joe/window-split-horizontal () (interactive) (set 'joe/popper-side-toggle 'below)) (defun joe/window-split-horizontal () (interactive) (set 'joe/popper-side-toggle 'below))
@ -1847,7 +1849,7 @@ odd looking ~'(t .t)~ is for specifying a default for all other actions.
(add-to-list 'auto-mode-alist '("authinfo" . authinfo-mode)) (add-to-list 'auto-mode-alist '("authinfo" . authinfo-mode))
(setq mu4e-get-mail-command "parallel mbsync -V \"-c ~/.config/mbsync/config\" ::: ferano.io gmail") (setq mu4e-get-mail-command "parallel -j9 mbsync -V -c ~/.config/mbsync/config ::: ferano.io-inbox ferano.io-drafts ferano.io-sent ferano.io-junk ferano.io-trash gmail-inbox gmail-drafts gmail-sent gmail-trash")
;;; Sending email (SMTP) ;;; Sending email (SMTP)
(require 'smtpmail) (require 'smtpmail)
@ -2321,11 +2323,18 @@ These help speed eglot up apparently [[https://www.reddit.com/r/emacs/comments/1
(setq gptel-default-mode #'org-mode) (setq gptel-default-mode #'org-mode)
(setq (setq
gptel-model 'claude-sonnet-4-20250514 gptel-model 'claude-sonnet-4-20250514
gptel-backend (gptel-make-anthropic "Claude" gptel-api-key (with-temp-buffer
(insert-file-contents (expand-file-name "gptel-gpt-key" user-emacs-directory))
(buffer-string)))
;; (add-hook 'gptel-post-response-functions #'font-lock-ensure)
;; (gptel-make-openai "ChatGPT"
;; :stream t :key (with-temp-buffer
;; (insert-file-contents (expand-file-name "gptel-gpt-key" user-emacs-directory))
;; (buffer-string)))
(gptel-make-anthropic "Claude"
:stream t :key (with-temp-buffer :stream t :key (with-temp-buffer
(insert-file-contents (expand-file-name "gptel-key" user-emacs-directory)) (insert-file-contents (expand-file-name "gptel-key" user-emacs-directory))
(buffer-string)))) (buffer-string)))
;; (add-hook 'gptel-post-response-functions #'font-lock-ensure)
(setq gptel-prompt-prefix-alist '((markdown-mode . "### ") (setq gptel-prompt-prefix-alist '((markdown-mode . "### ")
(org-mode . "* ") (org-mode . "* ")
@ -2334,7 +2343,7 @@ These help speed eglot up apparently [[https://www.reddit.com/r/emacs/comments/1
(evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a a") #'gptel) (evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a a") #'gptel)
(evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a RET") #'gptel-ask) (evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a RET") #'gptel-ask)
(evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a M") #'gptel-mode) (evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a M") #'gptel-mode)
(evil-define-key 'visual joe/evil-space-mode-map (kbd "SPC a c") #'gptel-add) ;; Will delete context at point (evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a c") #'gptel-add) ;; Will delete context at point
(evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a <backspace>") #'joe/gptel-context-remove-all) (evil-define-key 'normal joe/evil-space-mode-map (kbd "SPC a <backspace>") #'joe/gptel-context-remove-all)
(evil-define-key 'visual joe/evil-space-mode-map (kbd "SPC a r") #'gptel-rewrite) (evil-define-key 'visual joe/evil-space-mode-map (kbd "SPC a r") #'gptel-rewrite)
@ -2468,8 +2477,13 @@ And we do the rest here, including a macro
#+end_src #+end_src
*** Common Lisp *** Common Lisp
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setq sly-lisp-implementations '((sbcl ("/usr/local/bin/sbcl" "--dynamic-space-size" "4096")) (setq inferior-lisp-program "/usr/local/bin/sbcl")
(setq sly-lisp-implementations '((sbcl ("/usr/local/bin/sbcl"
"--dynamic-space-size" "4096"
"--core" "/home/joe/.config/emacs/sbcl.core-for-sly"))
(ecl ("/usr/bin/ecl")))) (ecl ("/usr/bin/ecl"))))
(setq sly-symbol-completion-mode nil)
(defun joe/sly-copy-call-to-repl () (defun joe/sly-copy-call-to-repl ()
"Copy name/symbol of toplevel sexp to sly-mREPL and select sly-mREPL." "Copy name/symbol of toplevel sexp to sly-mREPL and select sly-mREPL."
(interactive) (interactive)
@ -2483,6 +2497,7 @@ And we do the rest here, including a macro
(with-selected-window replwin (with-selected-window replwin
(insert string) (insert string)
(forward-char -1)))) (forward-char -1))))
#+end_src #+end_src
*** Odin *** Odin
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -2973,6 +2988,7 @@ Org mode buffers have associated files.
"*** Schedule\n" "*** Schedule\n"
"*** Resources\n" "*** Resources\n"
"*** Notes")) "*** Notes"))
(setq org-capture-templates (setq org-capture-templates
`( `(
("e" "Emacs Improvement" entry ("e" "Emacs Improvement" entry
@ -2983,16 +2999,18 @@ Org mode buffers have associated files.
(function ,(lambda () (find-file (joe/capture-leetcode-newfile)))) (function ,(lambda () (find-file (joe/capture-leetcode-newfile))))
#'joe/capture-leetcode-template) #'joe/capture-leetcode-template)
("d" "Daily Entry" entry ("d" "Daily Entry" plain
(file "Daily.org") (file "Daily.org")
#'joe/capture-daily) (function ,(lambda ()
(with-temp-buffer
(insert-file-contents "~/Notes/Daily.txt")
(buffer-string)))))
("b" "New Book To Read" entry ("b" "New Book To Read" entry
(file+headline "Books.org" "To Read") (file+headline "Books.org" "To Read")
"** %^{Book Title}%^{AUTHOR}p" :prepend t))) "** %^{Book Title}%^{AUTHOR}p%^{SUBTITLE}p" :prepend t)))
(define-key global-map (kbd "C-c c") #'org-capture) (define-key global-map (kbd "C-c c") #'org-capture)
#+end_src #+end_src
*** org-babel *** org-babel
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -3066,6 +3084,19 @@ with the cursor you hit TAB and you complete the following;
(require 'org-kanban) (require 'org-kanban)
#+end_src #+end_src
** Calendar ** Calendar
#+begin_src emacs-lisp
(require 'calfw)
(setq cfw:fchar-junction ?╋
cfw:fchar-vertical-line ?┃
cfw:fchar-horizontal-line ?━
cfw:fchar-left-junction ?┣
cfw:fchar-right-junction ?┫
cfw:fchar-top-junction ?┯
cfw:fchar-top-left-corner ?┏
cfw:fchar-top-right-corner ?┓)
#+end_src
#+begin_src emacs-lisp #+begin_src emacs-lisp
(require 'cl) (require 'cl)
(require 'calendar) (require 'calendar)

View File

@ -13,11 +13,45 @@ Subfolders Verbatim
Path ~/.mail/ferano.io/ Path ~/.mail/ferano.io/
Inbox ~/.mail/ferano.io/Inbox Inbox ~/.mail/ferano.io/Inbox
Channel ferano.io Channel ferano.io-inbox
Far :ferano.io.remote: Far :ferano.io.remote:INBOX
Near :ferano.io.local: Near :ferano.io.local:INBOX
# Include everything Sync All
Patterns * Create Both
Remove Both
Expunge Both
SyncState *
Channel ferano.io-drafts
Far :ferano.io.remote:Drafts
Near :ferano.io.local:Drafts
Sync All
Create Both
Remove Both
Expunge Both
SyncState *
Channel ferano.io-sent
Far :ferano.io.remote:Sent
Near :ferano.io.local:Sent
Sync All
Create Both
Remove Both
Expunge Both
SyncState *
Channel ferano.io-junk
Far :ferano.io.remote:Junk
Near :ferano.io.local:Junk
Sync All
Create Both
Remove Both
Expunge Both
SyncState *
Channel ferano.io-trash
Far :ferano.io.remote:Trash
Near :ferano.io.local:Trash
Sync All Sync All
Create Both Create Both
Remove Both Remove Both
@ -38,11 +72,36 @@ Subfolders Verbatim
Path ~/.mail/gmail/ Path ~/.mail/gmail/
Inbox ~/.mail/gmail/INBOX Inbox ~/.mail/gmail/INBOX
Channel gmail Channel gmail-inbox
Far :gmail.remote: Far :gmail.remote:INBOX
Near :gmail.local: Near :gmail.local:INBOX
# Only sync the folders you've checked in IMAP Sync All
Patterns "INBOX" "[Gmail]/Sent Mail" "[Gmail]/Drafts" "[Gmail]/Trash" Create Both
Remove Both
Expunge Both
SyncState *
Channel gmail-drafts
Far :gmail.remote:"[Gmail]/Drafts"
Near :gmail.local:"[Gmail]/Drafts"
Sync All
Create Both
Remove Both
Expunge Both
SyncState *
Channel gmail-sent
Far :gmail.remote:"[Gmail]/Sent Mail"
Near :gmail.local:"[Gmail]/Sent Mail"
Sync All
Create Both
Remove Both
Expunge Both
SyncState *
Channel gmail-trash
Far :gmail.remote:"[Gmail]/Trash"
Near :gmail.local:"[Gmail]/Trash"
Sync All Sync All
Create Both Create Both
Remove Both Remove Both
@ -50,6 +109,26 @@ Expunge Both
SyncState * SyncState *
Group ferano.io
Channel ferano.io-inbox
Channel ferano.io-drafts
Channel ferano.io-sent
Channel ferano.io-junk
Channel ferano.io-trash
Group gmail
Channel gmail-inbox
Channel gmail-drafts
Channel gmail-sent
Channel gmail-trash
Group all Group all
Channel ferano.io Channel ferano.io-inbox
Channel gmail Channel ferano.io-drafts
Channel ferano.io-sent
Channel ferano.io-junk
Channel ferano.io-trash
Channel gmail-inbox
Channel gmail-drafts
Channel gmail-sent
Channel gmail-trash