Compare commits

..

4 Commits

1 changed files with 73 additions and 24 deletions

95
init.el
View File

@ -123,6 +123,7 @@
(elpaca-use-package-mode))
(elpaca-wait)
;; Optimisation
; GCMH
;Enforce a sneaky Garbage Collection strategy to minimize GC interference with user activity.
@ -160,6 +161,7 @@
(lambda ()
(setq jit-lock-defer-time 0)) nil t))
;; TRAMP
;TRAMP edit files over SSH configuration
(use-package tramp
@ -180,7 +182,6 @@
(when (eq window-system 'w32)
(setq tramp-default-method "plink")))
; Tramp RPC - Alternate backend promising more speed
(use-package tramp-rpc
:ensure (:host github :repo "ArthurHeymans/emacs-tramp-rpc")
@ -189,6 +190,7 @@
(setq tramp-rpc-deploy-local-cache-directory
"~/.cache/emacs/tramp-rpc-binaries"))
;; Org Mode Config
;Agenda
;For Org-Agenda, you can set a location of your Org Agenda file here. Set Agenda Directory:
@ -217,7 +219,6 @@
(setq org-startup-folded t))
; For Org Pomodoro notification sound
(use-package sound-wav
:ensure t)
@ -260,7 +261,6 @@
(plist-get info :message)))))
(setq alert-default-style 'custom-org-alert-notification))
; System notifications of org agenda items
(use-package org-wild-notifier
:ensure t
@ -281,7 +281,6 @@
(setq org-wild-notifier-extra-alert-plist '(:persistent t))
(org-wild-notifier-mode))
; Upcoming agenda items in modeline
(use-package org-upcoming-modeline
:ensure t
@ -289,7 +288,6 @@
:config
(org-upcoming-modeline-mode))
; Org Mode Journalling
(use-package org-journal
:ensure t
@ -299,7 +297,6 @@
(setq org-journal-file-type 'daily)
(setq org-journal-file-format "%Y%m%d.org"))
;; Org Latex Preview Scale
; Automatically toggle Org mode LaTeX fragment previews as the cursor enters and exits them
(use-package org-fragtog
@ -331,7 +328,6 @@
'(read-only t cursor-intangible t face minibuffer-prompt)))
;; Doom Theme
(use-package doom-themes
:ensure t
@ -379,7 +375,8 @@
:config
(define-key global-map [remap isearch-forward] 'consult-ripgrep)
(define-key global-map [remap switch-to-buffer] 'consult-buffer)
(define-key global-map [remap set-fill-column] 'consult-fd))
(define-key global-map [remap set-fill-column] 'consult-fd)
(define-key global-map [remap eshell-previous-matching-input] 'consult-history))
;; Persist history over Emacs restarts. Vertico sorts by history position.
@ -499,10 +496,17 @@
:ensure t
:after transient)
;; Auth Source Pass - Use pass for authentication with mail
(use-package auth-source-pass
:ensure nil
:init
(auth-source-pass-enable))
;; Mu4e Mail Config
(if (executable-find "mu")
(use-package mu4e
:ensure nil
:after auth-source-pass
:config
(setq mu4e-mu-binary (executable-find "mu"))
@ -521,7 +525,10 @@
(setq mu4e-compose-format-flowed t)
;; Use completing read AKA vertico
(setq mu4e-completing-read-function 'completing-read)
(setq mu4e-completing-read-function #'completing-read)
;; Immediately send SMTP with credentials
(setq smtpmail-servers-requiring-authorization "*")
(setq mu4e-contexts
(list
@ -534,9 +541,10 @@
(string-prefix-p "/work-cspark" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "work@cspark.dev")
(user-full-name . "Curt Spark (Work)")
(smtpmail-smtp-server . "smtp.cspark.dev")
(smtpmail-smtp-service . 465)
(smtpmail-stream-type . ssl)
(smtpmail-smtp-server . "mail.cspark.dev")
(smtpmail-smtp-user . "work@cspark.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Curt")
(mu4e-inbox-folder . "/work-cspark/Inbox")
(mu4e-drafts-folder . "/work-cspark/Drafts")
@ -552,9 +560,10 @@
(string-prefix-p "/services-cspark" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "services@cspark.dev")
(user-full-name . "Curt Spark (services)")
(smtpmail-smtp-server . "smtp.cspark.dev")
(smtpmail-smtp-service . 465)
(smtpmail-stream-type . ssl)
(smtpmail-smtp-server . "mail.cspark.dev")
(smtpmail-smtp-user . "services@cspark.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Curt")
(mu4e-inbox-folder . "/services-cspark/Inbox")
(mu4e-drafts-folder . "/services-cspark/Drafts")
@ -570,32 +579,72 @@
(string-prefix-p "/personal-cspark" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "personal@cspark.dev")
(user-full-name . "Curt Spark (personal)")
(smtpmail-smtp-server . "smtp.cspark.dev")
(smtpmail-smtp-service . 465)
(smtpmail-stream-type . ssl)
(smtpmail-smtp-server . "mail.cspark.dev")
(smtpmail-smtp-user . "personal@cspark.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Curt")
(mu4e-inbox-folder . "/personal-cspark/Inbox")
(mu4e-drafts-folder . "/personal-cspark/Drafts")
(mu4e-sent-folder . "/personal-cspark/Sent Mail")
(mu4e-trash-folder . "/personal-cspark/Trash")))
;; Alerts account
(make-mu4e-context
:name "D CSpark Alerts"
:match-func
(lambda (msg)
(when msg
(string-prefix-p "/alerts-cspark" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "alerts@cspark.dev")
(user-full-name . "Curt Spark (alerts)")
(smtpmail-smtp-server . "mail.cspark.dev")
(smtpmail-smtp-user . "alerts@cspark.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Curt")
(mu4e-inbox-folder . "/alerts-cspark/Inbox")
(mu4e-drafts-folder . "/alerts-cspark/Drafts")
(mu4e-sent-folder . "/alerts-cspark/Sent Mail")
(mu4e-trash-folder . "/alerts-cspark/Trash")))
;; Tuxtank Services account
(make-mu4e-context
:name "D Tuxtank Services"
:name "E Tuxtank Services"
:match-func
(lambda (msg)
(when msg
(string-prefix-p "/personal-tuxtank" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "personal@tuxtank.dev")
(user-full-name . "Tuxtank (personal)")
(smtpmail-smtp-server . "smtp.tuxtank.dev")
(smtpmail-smtp-service . 465)
(smtpmail-stream-type . ssl)
(smtpmail-smtp-server . "mail.tuxtank.dev")
(smtpmail-smtp-user . "personal@tuxtank.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Tuxtank")
(mu4e-inbox-folder . "/personal-tuxtank/Inbox")
(mu4e-drafts-folder . "/personal-tuxtank/Drafts")
(mu4e-sent-folder . "/personal-tuxtank/Sent Mail")
(mu4e-trash-folder . "/personal-tuxtank/Trash")))))))
(mu4e-trash-folder . "/personal-tuxtank/Trash")))
;; Tuxtank Alerts account
(make-mu4e-context
:name "F Tuxtank Alerts"
:match-func
(lambda (msg)
(when msg
(string-prefix-p "/alerts-tuxtank" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "alerts@tuxtank.dev")
(user-full-name . "Tuxtank (alerts)")
(smtpmail-smtp-server . "mail.tuxtank.dev")
(smtpmail-smtp-user . "alerts@tuxtank.dev")
(smtpmail-smtp-service . 587)
(smtpmail-stream-type . starttls)
(mu4e-compose-signature . "- Tuxtank")
(mu4e-inbox-folder . "/alerts-tuxtank/Inbox")
(mu4e-drafts-folder . "/alerts-tuxtank/Drafts")
(mu4e-sent-folder . "/alerts-tuxtank/Sent Mail")
(mu4e-trash-folder . "/alerts-tuxtank/Trash")))))))
;(setq mu4e-maildir-shortcuts