summaryrefslogtreecommitdiff
path: root/muttrc
blob: 7a57090a39f43a8e5389a6b14d1d45f70d8ac806 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# -*- mode: conf-space; -*-
# Colour scheme
source `echo "\$XDG_CONFIG_HOME/mutt/catppuccin.muttrc"`
color index color2 default ~O   # unread, but not new, messages are green, like new messages

# Vim-like keybindings
source ~/.guix-home/profile/share/doc/neomutt/vim-keys/vim-keys.rc
# I have a Return key, not an Enter key, and I want to use it to display the
# message, not reply to it.
bind index '<Return>' display-message
bind index '<Enter>' list-reply
# group-chat-reply = reply to all recipients preserving To/Cc.
bind index a group-chat-reply
bind pager a group-chat-reply

set abort_nosubject = ask-yes
set abort_unmodified = ask-yes
set auto_edit edit_headers fast_reply reverse_name noreverse_real_name
set sig_dashes sig_on_top
set pager_stop pager_index_lines=10 pager_context=2 pager_skip_quoted_context=3

set sort = "reverse-date"  # newest first, threads grouped
set use_threads = "threads"
unset mark_old    # always keep unread messages as "new"
set tilde nomarkers
set sleep_time = 0  # no delay when switching mailboxes to display info
set auto_tag   # commands automatically apply to tagged messages (if any), without having to press ";"
set delete   # auto-purge deleted messages when syncing

# show IMAP mailboxes in the sidebar
set imap_check_subscribed

set sidebar_visible sidebar_format = "%B%* %?F? %F!?%?N? %N?"
set sidebar_folder_indent sidebar_short_path

set index_format = "%4C %Z  %[%_d %b %H:%M]  %-15.15L  %s%*   %?l?%4l&%4c?"
set status_format = " %r %f (%?M?%M/?%m#%?n? %nN?%?o? %oO?%?d? %dD?%?F? %FF?%?t? %t*?%?p? %pP?%?b? %bE?%?l? %l?) %> %s/%S   %P   "
set sidebar_format = "%D%* %!%?N? %N?"
set attach_format = "%u%D%I %t%4n %T%.40d%> %.9m/%.12M, %.6e%?C?, %C?, %4s "

set mail_check_stats
set pgp_decrypt_command = "gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
set smime_encrypt_self smime_default_key = 681F69B0
unset arrow_cursor
set ssl_force_tls

set new_mail_command = "if [ %u -gt 0 ]; then dunstify -a neomutt -i mail-unread 'New mail' 'You have %u unread messages.'; fi"

set history = 1000
set history_file = `echo "\$XDG_DATA_HOME/share/mutthistory"`
set save_history = 1000

# For using both, header and body caching, $header_cache and
# $message_cachedir can be safely set to the same value.
set message_cachedir = `echo "\$XDG_CACHE_HOME/neomutt/"`
set header_cache = `echo "\$XDG_CACHE_HOME/neomutt/"`

alternative_order text/plain text/enriched text/html text image
auto_view text/html image/jpeg image/png

# needed for catimg
set allow_ansi = yes

set my_mythic = "imaps://oncilla.mythic-beasts.com/"
account-hook "$my_mythic" 'set folder = "$my_mythic"'
account-hook "$my_mythic" 'set smtp_url = "smtps://smtp-auth.mythic-beasts.com"'
account-hook "$my_mythic" 'set imap_user = "timo@twilken.net"'
account-hook "$my_mythic" 'set smtp_user = "timo@twilken.net"'
account-hook "$my_mythic" 'set imap_pass = `pass www/mythic-beasts/email/timo | head -1`'
account-hook "$my_mythic" 'set smtp_pass = `pass www/mythic-beasts/email/timo | head -1`'
account-hook "$my_mythic" 'set spool_file = +INBOX'
account-hook "$my_mythic" 'set postponed = +Drafts'
account-hook "$my_mythic" 'set record = +Sent'
account-hook "$my_mythic" 'reset ssl_use_tlsv1'
account-hook "$my_mythic" 'reset ssl_use_tlsv1_1'

set my_cern = "imaps://imap.cern.ch/"
account-hook "$my_cern" 'set folder = "$my_cern"'
account-hook "$my_cern" 'set smtp_url = "smtps://smtp.cern.ch"'
account-hook "$my_cern" 'set imap_user = "twilken"'
account-hook "$my_cern" 'set smtp_user = "twilken"'
account-hook "$my_cern" 'set imap_pass = `pass cern/sso | head -1`'
account-hook "$my_cern" 'set smtp_pass = `pass cern/sso | head -1`'
account-hook "$my_cern" 'set spool_file = +INBOX'
account-hook "$my_cern" 'set postponed = +Drafts'
account-hook "$my_cern" 'set record = +Sent'
account-hook "$my_cern" 'set ssl_use_tlsv1 = yes'    # imap.cern.ch needs this; ...
account-hook "$my_cern" 'set ssl_use_tlsv1_1 = yes'  # ...make sure to reset for other accounts!

set my_gmail = "imaps://imap.gmail.com/"
account-hook "$my_gmail" 'set folder = "$my_gmail"'
account-hook "$my_gmail" 'set smtp_url = "smtps://smtp.gmail.com"'
account-hook "$my_gmail" 'set imap_user = "timo.21.wilken@gmail.com"'
account-hook "$my_gmail" 'set smtp_user = "timo.21.wilken@gmail.com"'
account-hook "$my_gmail" 'set imap_pass = `pass www/google/app-passwords/mutt | head -1`'
account-hook "$my_gmail" 'set smtp_pass = `pass www/google/app-passwords/mutt | head -1`'
account-hook "$my_gmail" 'set spool_file = +INBOX'
account-hook "$my_gmail" 'set postponed = "+[Gmail]/Drafts"'
account-hook "$my_gmail" 'set record = "+[Gmail]/Sent Mail"'
account-hook "$my_gmail" 'reset ssl_use_tlsv1'
account-hook "$my_gmail" 'reset ssl_use_tlsv1_1'

# ExOl needs OAUTH now!
# https://neomutt.org/guide/optionalfeatures.html#oauth
set my_cantab = "imaps://tw466@cantab.ac.uk@outlook.office365.com/"
account-hook "$my_cantab" 'set folder = "$my_cantab"'
account-hook "$my_cantab" 'set smtp_url = "smtps://smtp-mail.outlook.com"'
account-hook "$my_cantab" 'set imap_user = "tw466@cantab.ac.uk"'
account-hook "$my_cantab" 'set smtp_user = "tw466@cantab.ac.uk"'
account-hook "$my_cantab" 'set imap_pass = `pass cambridge/raven | head -1`'
account-hook "$my_cantab" 'set smtp_pass = `pass cambridge/raven | head -1`'
account-hook "$my_cantab" 'set spool_file = +INBOX'
account-hook "$my_cantab" 'set postponed = +Drafts'
account-hook "$my_cantab" 'set record = +Sent'
account-hook "$my_cantab" 'reset ssl_use_tlsv1'
account-hook "$my_cantab" 'reset ssl_use_tlsv1_1'

set my_outlook = "imaps://timo_wilken@live.co.uk@outlook.office365.com/"
account-hook "$my_outlook" 'set folder = "$my_outlook"'
account-hook "$my_outlook" 'set smtp_url = "smtps://smtp-mail.outlook.com"'
account-hook "$my_outlook" 'set imap_user = "timo_wilken@live.co.uk"'
account-hook "$my_outlook" 'set smtp_user = "timo_wilken@live.co.uk"'
account-hook "$my_outlook" 'set imap_pass = `pass www/microsoft | head -1`'
account-hook "$my_outlook" 'set smtp_pass = `pass www/microsoft | head -1`'
account-hook "$my_outlook" 'set spool_file = +INBOX'
account-hook "$my_outlook" 'set postponed = +Drafts'
account-hook "$my_outlook" 'set record = +Sent'
account-hook "$my_outlook" 'reset ssl_use_tlsv1'
account-hook "$my_outlook" 'reset ssl_use_tlsv1_1'

macro index,pager gm "<sync-mailbox><enter-command>set folder=$my_mythic<enter><change-folder>+INBOX<enter>" "Switch to Mythic Beasts account"
macro index,pager gG "<sync-mailbox><enter-command>set folder=$my_gmail<enter><change-folder>+INBOX<enter>" "Switch to Gmail account"
macro index,pager gw "<sync-mailbox><enter-command>set folder=$my_cern<enter><change-folder>+INBOX<enter>" "Switch to CERN account"
macro index,pager gc "<sync-mailbox><enter-command>set folder=$my_cantab<enter><change-folder>+INBOX<enter>" "Switch to Cantab account"
macro index,pager go "<sync-mailbox><enter-command>set folder=$my_outlook<enter><change-folder>+INBOX<enter>" "Switch to Outlook account"

# Open the Mythic inbox by default.
set folder = "$my_mythic"
set spool_file = "+INBOX"