From b337027f610c4f97e6af9a75b52651cadfd71ede Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 21 Oct 2025 16:56:17 +0300 Subject: emacs: add mu4e --- emacs/.config/emacs/arkta/arkta-cosmetic.el | 2 +- emacs/.config/emacs/init.el | 64 +++++++++++++++++++++++- emacs/.config/emacs/straight/versions/default.el | 1 + 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/emacs/.config/emacs/arkta/arkta-cosmetic.el b/emacs/.config/emacs/arkta/arkta-cosmetic.el index 383a26e..188a1d0 100644 --- a/emacs/.config/emacs/arkta/arkta-cosmetic.el +++ b/emacs/.config/emacs/arkta/arkta-cosmetic.el @@ -30,7 +30,7 @@ :init (defun arkta/disable-dln () (display-line-numbers-mode -1)) - :hook ((dashboard-mode help-mode magit-status-mode treemacs-mode) . arkta/disable-dn) + :hook ((dashboard-mode help-mode magit-status-mode mu4e-headers-mode mu4e-main-mode mu4e-view-mode treemacs-mode) . arkta/disable-dln) :config (global-display-line-numbers-mode +1)) diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el index 613dd63..3c55546 100644 --- a/emacs/.config/emacs/init.el +++ b/emacs/.config/emacs/init.el @@ -315,6 +315,11 @@ ;; This actually has to be hooked to after-init to be one of the first minor modes enabled :hook (after-init . envrc-global-mode)) +(use-package epg + :straight '(epg :type built-in) + :custom + (epg-pinentry-mode 'loopback)) + (use-package gcmh :straight t :custom @@ -346,6 +351,62 @@ ;; TODO: Do some proper setup :straight t) +(use-package message + :straight '(message :type built-in) + :custom + (message-kill-buffer-on-exit t) + (message-mail-user-agent 'mu4e) + (message-send-mail-function #'smtpmail-send-it)) + +(use-package mu4e + :straight '(mu4e :type git :host github :repo "djcb/mu" + :pre-build (("./autogen.sh") ("ninja" "-C" "build")) + :files (:defaults "build/mu4e/*.el")) + :commands mu4e + :custom + (mu4e-mu-binary (expand-file-name "build/mu/mu" (straight--repos-dir "mu"))) + + (mu4e-get-mail-command "mbsync -a") + (mu4e-change-filenames-when-moving t) + + (mu4e-attachment-dir (concat (expand-file-name (or (getenv "XDG_DOWNLOAD_DIR") + "Downloads") + "~") + "/")) + (mu4e-completing-read-function #'ivy-completing-read) + (mu4e-headers-thread-single-orphan-prefix '("--" . "──")) + (mu4e-headers-thread-orphan-prefix '("--" . "┬─")) + (mu4e-headers-thread-connection-prefix '("| " . "│ ")) + (mu4e-headers-thread-first-child-prefix '("+-" . "├─")) + (mu4e-headers-thread-child-prefix '("+-" . "├─")) + (mu4e-headers-thread-last-child-prefix '("--" . "└─")) + + (mu4e-headers-visible-flags '(passed replied)) + + ;; TODO: mu4e-notification-support + (mu4e-sent-messages-behavior 'delete) + (mu4e-update-interval 300) + (mu4e-use-fancy-chars t) + + (mu4e-sent-folder "/perkontevs/Sent") + (mu4e-drafts-folder "/perkontevs/Drafts") + (mu4e-trash-folder "/perkontevs/Trash") + (mu4e-refile-folder "/perkontevs/All")) + +(use-package sendmail + :straight '(sendmail :type built-in) + :custom + (send-mail-function 'smtpmail-send-it)) + +(use-package smtpmail + :straight '(smtpmail :type built-in) + :custom + (smtpmail-servers-requiring-authorization "smtp\\.gmail\\.com") + (smtpmail-stream-type 'starttls) + (smtpmail-smtp-service 587) + (smtpmail-smtp-user user-mail-address) + (smtpmail-smtp-server "smtp.gmail.com")) + (use-package popper :straight t :defer nil @@ -392,7 +453,8 @@ :hook ((text-mode . turn-on-auto-fill) (before-save . delete-trailing-whitespace)) :custom - (backward-delete-char-untabify-method nil)) + (backward-delete-char-untabify-method nil) + (mail-user-agent 'mu4e-user-agent)) (use-package swiper :straight t diff --git a/emacs/.config/emacs/straight/versions/default.el b/emacs/.config/emacs/straight/versions/default.el index cc075e5..5f0dd32 100644 --- a/emacs/.config/emacs/straight/versions/default.el +++ b/emacs/.config/emacs/straight/versions/default.el @@ -45,6 +45,7 @@ ("magit" . "128258ca93b7dfc7f6ddc9763f01e99c5d0d841f") ("markdown-mode" . "d51c469133d220823cc6ab50ff8e8743ed6e42fb") ("melpa" . "b076512819264d79f0235f53faf26f2592480843") + ("mu" . "9beefc1e8b8008ba961853e7c42b0bee4fb08371") ("nasm-mode" . "4e670f6dededab858251670aa5459c950f78d867") ("nerd-icons.el" . "418f137faac926b822582fbce55a74a26e891ec5") ("ninja-emacs" . "573c3aaedc6e90e9a8954bb70a24e079af7df390") -- cgit v1.2.3