Switch everything back to mu4e (from notmuch)
This commit is contained in:
parent
ad2fa5a81e
commit
27ce6af080
|
@ -1,44 +0,0 @@
|
|||
[SpamFilter]
|
||||
|
||||
[KillThreadsFilter]
|
||||
|
||||
[ListMailsFilter]
|
||||
|
||||
[ArchiveSentMailsFilter]
|
||||
sent_tag = sent
|
||||
|
||||
[FolderNameFilter]
|
||||
folder_explicit_list = Proton/Archive Proton/Trash iCloud/Archive 'iCloud/Deleted Messages' Outlook/Archive Outlook/Trash
|
||||
folder_transforms = Archive:archive Trash:deleted 'Deleted Messages':deleted
|
||||
folder_lowercases = true
|
||||
maildir_separator = /
|
||||
|
||||
[Filter.1]
|
||||
message = Removing new/inbox/unread tags from archived mail
|
||||
query = tag:archive
|
||||
tags = -new;-inbox;-unread
|
||||
|
||||
[Filter.2]
|
||||
message = Removing new/inbox/unread tags from deleted mail
|
||||
query = tag:deleted
|
||||
tags = -new;-inbox;-unread
|
||||
|
||||
[Filter.3]
|
||||
message = Tag ReqCo emails
|
||||
query = from:reqco@jet.uk
|
||||
tags = +reqco
|
||||
|
||||
[Filter.4]
|
||||
message = Tag operations update emails
|
||||
query = from:no-reply@jet.uk
|
||||
tags = +operations
|
||||
|
||||
[MailMover]
|
||||
folders = Proton/Inbox iCloud/Inbox Outlook/Inbox
|
||||
rename = True
|
||||
max_age = 15
|
||||
Proton/Inbox = 'tag:archive':Proton/Archive 'tag:deleted':Proton/Trash
|
||||
iCloud/Inbox = 'tag:archive':iCloud/Archive 'tag:deleted':'iCloud/Deleted Messages'
|
||||
Outlook/Inbox = 'tag:archive':Outlook/Archive 'tag:deleted':Outlook/Trash
|
||||
|
||||
[InboxFilter]
|
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
home.packages = with pkgs; [ davmail ];
|
||||
programs = {
|
||||
mu.enable = true;
|
||||
msmtp.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
|
@ -12,33 +13,6 @@
|
|||
outlook = [ "INBOX" ];
|
||||
};
|
||||
};
|
||||
notmuch = {
|
||||
enable = true;
|
||||
maildir.synchronizeFlags = true;
|
||||
new.tags = [ "new" ];
|
||||
hooks = {
|
||||
preNew = "${pkgs.isync}/bin/mbsync inboxes";
|
||||
postNew = ''
|
||||
if [ $(${pkgs.notmuch}/bin/notmuch count is:new) -gt 0 ]; then
|
||||
${pkgs.libnotify}/bin/notify-send "Notmuch Email" "Unread emails in inbox"
|
||||
fi
|
||||
${pkgs.afew}/bin/afew --new --tag
|
||||
${pkgs.afew}/bin/afew --move-mail
|
||||
'';
|
||||
};
|
||||
};
|
||||
afew = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./afew/config;
|
||||
};
|
||||
};
|
||||
services = {
|
||||
mbsync = {
|
||||
enable = true;
|
||||
frequency = "*:0/15";
|
||||
postExec = "${pkgs.notmuch}/bin/notmuch new";
|
||||
};
|
||||
imapnotify.enable = true;
|
||||
};
|
||||
accounts.email = {
|
||||
maildirBasePath = "Mail";
|
||||
|
@ -65,16 +39,6 @@
|
|||
userName = address;
|
||||
passwordCommand =
|
||||
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
|
||||
imapnotify = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
boxes = [ "INBOX" ];
|
||||
onNotify = "${pkgs.notmuch}/bin/notmuch new";
|
||||
extraConfig = {
|
||||
wait = 300;
|
||||
tls = false;
|
||||
tlsOptions.rejectUnauthorized = false;
|
||||
};
|
||||
};
|
||||
mbsync = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
create = "both";
|
||||
|
@ -91,7 +55,7 @@
|
|||
auth = "login";
|
||||
};
|
||||
};
|
||||
notmuch.enable = lib.mkDefault accountEnabled;
|
||||
mu.enable = lib.mkDefault accountEnabled;
|
||||
};
|
||||
icloud = let accountEnabled = true;
|
||||
in rec {
|
||||
|
@ -104,12 +68,6 @@
|
|||
userName = address;
|
||||
passwordCommand =
|
||||
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
|
||||
imapnotify = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
boxes = [ "INBOX" ];
|
||||
onNotify = "${pkgs.notmuch}/bin/notmuch new";
|
||||
extraConfig.wait = 300;
|
||||
};
|
||||
mbsync = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
create = "both";
|
||||
|
@ -119,7 +77,7 @@
|
|||
subFolders = "Verbatim";
|
||||
};
|
||||
msmtp.enable = lib.mkDefault accountEnabled;
|
||||
notmuch.enable = lib.mkDefault accountEnabled;
|
||||
mu.enable = lib.mkDefault accountEnabled;
|
||||
};
|
||||
outlook = let
|
||||
host = "127.0.0.1";
|
||||
|
@ -142,16 +100,6 @@
|
|||
userName = address;
|
||||
passwordCommand =
|
||||
"${pkgs.libsecret}/bin/secret-tool lookup email ${userName}";
|
||||
imapnotify = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
boxes = [ "INBOX" ];
|
||||
onNotify = "${pkgs.notmuch}/bin/notmuch new";
|
||||
extraConfig = {
|
||||
wait = 300;
|
||||
tls = false;
|
||||
tlsOptions.rejectUnauthorized = false;
|
||||
};
|
||||
};
|
||||
mbsync = {
|
||||
enable = lib.mkDefault accountEnabled;
|
||||
create = "both";
|
||||
|
@ -176,7 +124,7 @@
|
|||
auth = "login";
|
||||
};
|
||||
};
|
||||
notmuch.enable = lib.mkDefault accountEnabled;
|
||||
mu.enable = lib.mkDefault accountEnabled;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -11,10 +11,6 @@
|
|||
services.git-sync = {
|
||||
enable = true;
|
||||
repositories = with config.home; {
|
||||
notmuch = {
|
||||
path = "${homeDirectory}/.notmuch";
|
||||
uri = "git+https://git.xenia.me.uk/xenia/notmuch.git";
|
||||
};
|
||||
elfeed = {
|
||||
path = "${homeDirectory}/.elfeed";
|
||||
uri = "git+https://git.xenia.me.uk/xenia/elfeed.git";
|
||||
|
|
|
@ -5,46 +5,75 @@
|
|||
message-send-mail-function #'message-send-mail-with-sendmail
|
||||
message-kill-buffer-on-exit t)
|
||||
|
||||
(when (require 'notmuch nil :noerror)
|
||||
(keymap-set global-map "C-c m m" #'notmuch)
|
||||
(keymap-set global-map "C-c m c" #'notmuch-mua-new-mail)
|
||||
(keymap-set global-map "C-c m s" #'notmuch-search)
|
||||
(setq mail-user-agent 'notmuch-user-agent
|
||||
notmuch-search-oldest-first nil
|
||||
notmuch-show-logo nil
|
||||
notmuch-hello-thousands-separator ","
|
||||
notmuch-archive-tags '("+archive" "-inbox")
|
||||
notmuch-message-headers-visible nil
|
||||
notmuch-multipart/alternative-discouraged '("text/plain" "multipart/related")
|
||||
notmuch-show-all-multipart/alternative-parts nil
|
||||
notmuch-hello-sections '(notmuch-hello-insert-header
|
||||
notmuch-hello-insert-saved-searches
|
||||
notmuch-hello-insert-inbox
|
||||
notmuch-hello-insert-alltags)
|
||||
notmuch-fcc-dirs '((".*@xenia.me.uk" . "Proton/Sent")
|
||||
(".*@proton.me" . "Proton/Sent")
|
||||
(".*@litherlandsmith.slmail.me" . "Proton/Sent")
|
||||
(".*@icloud.com" . "iCloud/Sent")
|
||||
(".*@ukaea.uk" . "Outlook/Sent")
|
||||
(".*@jet.uk" . "Outlook/Sent"))
|
||||
notmuch-saved-searches '((:name "inbox" :query "tag:inbox" :key "i" :sort-order newest-first)
|
||||
(:name "unread" :query "tag:unread AND tag:inbox" :key "u" :sort-order newest-first)
|
||||
(:name "flagged" :query "tag:flagged" :key "f" :sort-order newest-first)
|
||||
(:name "sent" :query "tag:sent" :key "t" :sort-order newest-first)
|
||||
(:name "drafts" :query "tag:draft" :key "d" :sort-order newest-first)
|
||||
(:name "all mail" :query "*" :key "a" :sort-order newest-first))
|
||||
notmuch-tagging-keys '(("a" notmuch-archive-tags "Archive")
|
||||
("u" notmuch-show-mark-read-tags "Mark read")
|
||||
("f" ("+flagged") "Flag")
|
||||
("s" ("+spam" "-inbox") "Mark as spam")
|
||||
("d" ("+deleted" "-inbox" "-unread") "Delete")))
|
||||
(when (require 'mu4e nil :noerror)
|
||||
(keymap-set global-map "C-c m m" #'mu4e)
|
||||
(keymap-set global-map "C-c m u" #'mu4e-update-index)
|
||||
(keymap-set global-map "C-c m c" #'mu4e-compose-new)
|
||||
|
||||
(when (require 'mu4e-alert nil :noerror)
|
||||
(setq mu4e-alert-modeline-formatter 'mu4e-alert-default-mode-line-formatter)
|
||||
(mu4e-alert-set-default-style 'libnotify)
|
||||
(mu4e-alert-enable-notifications)
|
||||
(mu4e-alert-enable-mode-line-display))
|
||||
|
||||
(when (require 'notmuch-indicator nil :noerror)
|
||||
(setq notmuch-indicator-refresh-count 60
|
||||
notmuch-indicator-args '((:terms "tag:unread AND tag:inbox" :label " "))
|
||||
notmuch-indicator-force-refresh-commands '(notmuch-refresh-this-buffer
|
||||
notmuch-refresh-all-buffers
|
||||
notmuch-poll-and-refresh-this-buffer))
|
||||
(notmuch-indicator-mode +1)))
|
||||
(setq mu4e-maildir "~/Mail"
|
||||
mu4e-attachment-dir "~/Downloads"
|
||||
mu4e-get-mail-command "mbsync -a"
|
||||
mu4e-update-interval (* 5 60) ; Every 5 minutes
|
||||
mu4e-sent-messages-behavior 'sent
|
||||
mu4e-change-filenames-when-moving t
|
||||
mu4e-context-policy 'pick-first
|
||||
sendmail-program (executable-find "msmtp")
|
||||
send-mail-function #'smtpmail-send-it
|
||||
message-sendmail-f-is-evil t
|
||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||
message-send-mail-function #'message-send-mail-with-sendmail
|
||||
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-modeline-all-read '("R:" . " ")
|
||||
mu4e-modeline-all-clear '("C:" . " ")
|
||||
mu4e-modeline-new-items '("N:" . " ")
|
||||
mu4e-modeline-unread-items '("U:" . " ")
|
||||
mu4e-search-full-label '("F" . " ")
|
||||
mu4e-search-hide-label '("H" . " ")
|
||||
mu4e-search-related-label '("R" . " ")
|
||||
mu4e-search-skip-duplicates-label '("D" . " ")
|
||||
mu4e-search-threaded-label'("T" . " ")
|
||||
mu4e-headers-fields '((:human-date . 12)
|
||||
(:flags . 6)
|
||||
(:from-or-to . 25)
|
||||
(:subject))
|
||||
mu4e-maildir-shortcuts '((:maildir "/Proton/Inbox/" :key ?p)
|
||||
(:maildir "/iCloud/Inbox/" :key ?i)
|
||||
(:maildir "/Outlook/Inbox/" :key ?o))
|
||||
mu4e-contexts (list
|
||||
(make-mu4e-context
|
||||
:name "Proton"
|
||||
:match-func (lambda (msg) (when msg (string-prefix-p "/Proton" (mu4e-message-field msg :maildir))))
|
||||
:vars '((user-mail-address . "e.litherlandsmith@proton.me")
|
||||
(mu4e-sent-folder . "/Proton/Sent")
|
||||
(mu4e-drafts-folder . "/Proton/Drafts")
|
||||
(mu4e-trash-folder . "/Proton/Trash")
|
||||
(mu4e-refile-folder . "/Proton/Archive")))
|
||||
(make-mu4e-context
|
||||
:name "iCloud"
|
||||
:match-func (lambda (msg) (when msg (string-prefix-p "/iCloud" (mu4e-message-field msg :maildir))))
|
||||
:vars '((user-mail-address . "e.litherlandsmith@icloud.com")
|
||||
(mu4e-sent-folder . "/iCloud/Sent")
|
||||
(mu4e-drafts-folder . "/iCloud/Drafts")
|
||||
(mu4e-trash-folder . "/iCloud/Trash")
|
||||
(mu4e-refile-folder . "/iCloud/Archive")))
|
||||
(make-mu4e-context
|
||||
:name "Outlook"
|
||||
:match-func (lambda (msg) (when msg (string-prefix-p "/Outlook" (mu4e-message-field msg :maildir))))
|
||||
:vars '((user-mail-address . "evie.litherland-smith@ukaea.uk")
|
||||
(mu4e-sent-folder . "/Outlook/Sent")
|
||||
(mu4e-drafts-folder . "/Outlook/Drafts")
|
||||
(mu4e-trash-folder . "/Outlook/Trash")
|
||||
(mu4e-refile-folder . "/Outlook/Archive"))))))
|
||||
|
||||
(provide 'custom-email-config)
|
||||
|
|
|
@ -38,7 +38,8 @@
|
|||
|
||||
;; Doom-Modeline
|
||||
(when (require 'doom-modeline nil :noerror)
|
||||
(setq doom-modeline-icon t)
|
||||
(setq doom-modeline-icon t
|
||||
doom-modeline-mu4e t)
|
||||
(display-battery-mode)
|
||||
(doom-modeline-mode +1))
|
||||
|
||||
|
|
|
@ -84,8 +84,8 @@
|
|||
auctex-latexmk
|
||||
|
||||
# email-packages
|
||||
notmuch
|
||||
notmuch-indicator
|
||||
mu4e
|
||||
mu4e-alert
|
||||
|
||||
# feed-packages
|
||||
elfeed
|
||||
|
|
Loading…
Reference in a new issue