mutt: Clean up and refactor configuration

Refactored by stealing from
https://github.com/iagox86/mutt.git
This commit is contained in:
Sanchayan Maity 2024-10-31 21:28:30 +05:30
parent acaebdf0a4
commit e88c9bc3d4
Signed by: sanchayanmaity
GPG key ID: 6F6A0609C12038F3
13 changed files with 549 additions and 196 deletions

24
mutt/.mutt/accounts.conf Normal file
View file

@ -0,0 +1,24 @@
# vim: set ft=muttrc
# Load the default account information
source ~/.mutt/accounts/sanchayan-net
# Create some macros to switch between accounts
macro generic,index,pager 1 '<enter-command>source ~/.mutt/accounts/sanchayan-net<Enter><change-folder>=sanchayan-net/Inbox/<Enter>'
macro generic,index,pager 2 '<enter-command>source ~/.mutt/accounts/sanchayan<Enter><change-folder>=sanchayan/Inbox/<Enter>'
macro generic,index,pager 3 '<enter-command>source ~/.mutt/accounts/asymptotic<Enter><change-folder>=asymptotic/Inbox/<Enter>'
macro generic,index,pager 4 '<enter-command>source ~/.mutt/accounts/fastmail<Enter><change-folder>=fastmail/Inbox/<Enter>'
macro generic,index,pager 5 '<enter-command>source ~/.mutt/accounts/sanchayan-com<Enter><change-folder>=sanchayan-com/Inbox/<Enter>'
# Default to my normal account
message-hook '~t .*' 'source ~/.mutt/accounts/sanchayan-net'
# Move emails to the trash folder when deleting, unless you are in the trash folder
folder-hook trash$ unset trash
# Add some message hooks to automatically select the proper account when replying to an email
message-hook '~t ^me@sanchayanmaity\.net$' 'source ~/.mutt/accounts/sanchayan-net'
message-hook '~t ^me@sanchayanmaity\.com$' 'source ~/.mutt/accounts/sanchayan-com'
message-hook '~t ^sanchayan@asymptotic\.io$' 'source ~/.mutt/accounts/asymptotic'
message-hook '~t ^maitysanchayan@gmail\.com$' 'source ~/.mutt/accounts/sanchayan'
message-hook '~t ^maitysanchayan@fastmail\.com$' 'source ~/.mutt/accounts/fastmail'

View file

@ -2,13 +2,6 @@
set from = "Sanchayan Maity <sanchayan@asymptotic.io>" set from = "Sanchayan Maity <sanchayan@asymptotic.io>"
set sendmail = "msmtp -a asymptotic" set sendmail = "msmtp -a asymptotic"
set mbox = "+asymptotic/Archive"
set postponed = "+asymptotic/Drafts"
set record = "+asymptotic/Sent" set record = "+asymptotic/Sent"
set signature = "~/.mutt/signature" set postponed = "+asymptotic/Drafts"
set trash = "+asymptotic/Trash"
macro index S <save-message>+asymptotic/Spam<enter>
macro index D <save-message>+asymptotic/Trash<enter>
macro index gi <change-folder>=asymptotic/Inbox<enter>
macro index gs <change-folder>=asymptotic/Sent<enter>

View file

@ -2,13 +2,6 @@
set from = "Sanchayan Maity <maitysanchayan@fastmail.com>" set from = "Sanchayan Maity <maitysanchayan@fastmail.com>"
set sendmail = "msmtp -a fastmail" set sendmail = "msmtp -a fastmail"
set mbox = "+fastmail/Archive"
set postponed = "+fastmail/Drafts"
set record = "+fastmail/Sent" set record = "+fastmail/Sent"
set signature = "~/.mutt/signature" set postponed = "+fastmail/Drafts"
set trash = "+fastmail/Trash"
macro index D <save-message>+fastmail/Trash<enter>
macro index S <save-message>+fastmail/Spam<enter>
macro index gi "<change-folder>=fastmail/Inbox<enter>" "Go to Inbox"
macro index gs "<change-folder>=fastmail/Sent<enter>" "Go to Sent"

View file

@ -2,10 +2,6 @@
set from = "Sanchayan Maity <maitysanchayan@gmail.com>" set from = "Sanchayan Maity <maitysanchayan@gmail.com>"
set sendmail = "msmtp -a Sanchayan" set sendmail = "msmtp -a Sanchayan"
set mbox = "+sanchayan/Archive"
set postponed = "+sanchayan/Drafts"
set record = "+sanchayan/Sent" set record = "+sanchayan/Sent"
set signature = "~/.mutt/signature" set postponed = "+sanchayan/Drafts"
set trash = "+sanchayan/Trash"
macro index S <save-message>+sanchayan/Spam<enter>
macro index D <save-message>+sanchayan/Trash<enter>

View file

@ -2,10 +2,6 @@
set from = "Sanchayan Maity <me@sanchayanmaity.com>" set from = "Sanchayan Maity <me@sanchayanmaity.com>"
set sendmail = "msmtp -a sanchayan-com" set sendmail = "msmtp -a sanchayan-com"
set mbox = "+sanchayan-com/Archive"
set postponed = "+sanchayan-com/Drafts"
set record = "+sanchayan-com/Sent" set record = "+sanchayan-com/Sent"
set signature = "~/.mutt/signature" set postponed = "+sanchayan-com/Drafts"
set trash = "+sanchayan-com/Trash"
macro index J <save-message>+sanchayan-com/Junk<enter>
macro index D <save-message>+sanchayan-com/Trash<enter>

View file

@ -2,23 +2,19 @@
set from = "Sanchayan Maity <me@sanchayanmaity.net>" set from = "Sanchayan Maity <me@sanchayanmaity.net>"
set sendmail = "msmtp -a sanchayan-net" set sendmail = "msmtp -a sanchayan-net"
set mbox = "+sanchayan-net/Archive"
set postponed = "+sanchayan-net/Drafts"
set record = "+sanchayan-net/Sent" set record = "+sanchayan-net/Sent"
set signature = "~/.mutt/signature" set postponed = "+sanchayan-net/Drafts"
set trash = "+sanchayan-net/Trash"
macro index J <save-message>+sanchayan-net/Junk<enter> macro index gi <change-folder>=sanchayan-net/Inbox<Enter>
macro index D <save-message>+sanchayan-net/Trash<enter> macro index gf <change-folder>=sanchayan-net/FreedesktopGitlab<Enter>
macro index gg <change-folder>=sanchayan-net/gstreamer<Enter>
macro index gi <change-folder>=sanchayan-net/Inbox<enter> macro index gs <change-folder>=sanchayan-net/Sent<Enter>
macro index gf <change-folder>=sanchayan-net/FreedesktopGitlab<enter> macro index ge <change-folder>=sanchayan-net/ietf<Enter>
macro index gg <change-folder>=sanchayan-net/gstreamer<enter> macro index gc <change-folder>=sanchayan-net/Coffee<Enter>
macro index gs <change-folder>=sanchayan-net/Sent<enter> macro index gt <change-folder>=sanchayan-net/Trash<Enter>
macro index ge <change-folder>=sanchayan-net/ietf<enter> macro index gj <change-folder>=sanchayan-net/Junk<Enter>
macro index gc <change-folder>=sanchayan-net/Coffee<enter> macro index gS <change-folder>=sanchayan-net/Spam<Enter>
macro index gt <change-folder>=sanchayan-net/Trash<enter>
macro index gj <change-folder>=sanchayan-net/Junk<enter>
macro index gS <change-folder>=sanchayan-net/Spam<enter>
# See send-hook and patterns here http://www.mutt.org/doc/manual/#patterns # See send-hook and patterns here http://www.mutt.org/doc/manual/#patterns
#send-hook . 'reset crypt_autoencrypt' #send-hook . 'reset crypt_autoencrypt'

View file

@ -1,19 +1,21 @@
# gruvbox dark (contrast dark): # vim: set ft=muttrc
# Gruvbox Dark (contrast dark):
# bg0 = 234 # bg0 = 234
# bg1 = 237 # bg1 = 237
# bg2 = 239 # bg2 = 239
# bg3 = 241 # bg3 = 241
# bg4 = 243 # bg4 = 243
# #
# gray = 245 # gray = 245
# #
# fg0 = 229 # fg0 = 229
# fg1 = 223 # fg1 = 223
# fg2 = 250 # fg2 = 250
# fg3 = 248 # fg3 = 248
# fg4 = 246 # fg4 = 246
# #
# red = 167 # red = 167
# green = 142 # green = 142
# yellow = 214 # yellow = 214

76
mutt/.mutt/common.conf Normal file
View file

@ -0,0 +1,76 @@
# vim: set ft=muttrc
set realname = "Sanchayan Maity"
set mbox_type = Maildir
set spoolfile = +/sanchayan-net/Inbox
set mailcap_path = ~/.mutt/mailcap.conf
set signature = ~/.mutt/signature
# Defaults for how to open attachments
auto_view text/html
alternative_order text/plain text/html
set sort = 'threads'
set sort_aux = 'reverse-last-date-received'
set date_format = "%y-%m-%d %T"
set fast_reply = yes
set index_format = "%2C | %Z [%d] %-30.30F (%-4.4c) %s"
set folder_format = " %N %f"
set forward_format = "Fwd: %s"
set ispell = "/usr/bin/ispell"
set send_charset = "utf-8"
set to_chars = " +TCFL"
set header_cache = ~/Mail/.mutt/cache/headers
set message_cachedir = ~/Mail/.mutt/cache/bodies
set sleep_time = 0
set mail_check = 0
set delete = yes
set move = no
set mark_old = no
set confirmappend = no
set fcc_attach
set include
set forward_quote
set envelope_from
set mail_check_stats
set quit
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
set sidebar_width = 40
set sidebar_short_path = no
#======================================================#
set editor="nvim"
set edit_headers # See the headers when editing
#======================================================#
# Order of headers and what to show
hdr_order Date: From: User-Agent: X-Mailer \
To: Cc: Reply-To: Subject:
ignore *
unignore Date: From: User-Agent: X-Mailer: X-PGP-Key: \
To: Cc: Reply-To: Subject:
#======================================================#
# Odds and Ends
set markers # mark wrapped lines of text in the pager with a +
set smart_wrap # Don't wrap mid-word
set status_on_top # Status bar on top.
set pager_stop
set menu_scroll
set smart_wrap
set tilde
set sort_alias = alias # sort aliases in alpha order by alias name
set pager_context = 6 # Retain 6 lines of previous page when scrolling.
set pager_index_lines = 8
# GPG signing options
set crypt_autosign = "no"
set crypt_replyencrypt = "yes"
set crypt_replysign = "yes"
set crypt_replysignencrypted = "yes"
set crypt_opportunistic_encrypt = "no"
set postpone_encrypt = "no"
set pgp_use_gpg_agent = "yes"
set pgp_default_key = "6F6A0609C12038F3"

401
mutt/.mutt/keybindings.conf Normal file
View file

@ -0,0 +1,401 @@
# vim: set ft=muttrc
# Macros
# Unbind everything.. The defaults suck balls and do crazy things
bind generic,pager,editor,index a noop
bind generic,pager,editor,index b noop
bind generic,pager,editor,index c noop
bind generic,pager,editor,index d noop
bind generic,pager,editor,index e noop
bind generic,pager,editor,index f noop
bind generic,pager,editor,index g noop
bind generic,pager,editor,index h noop
bind generic,pager,editor,index i noop
bind generic,pager,editor,index j noop
bind generic,pager,editor,index k noop
bind generic,pager,editor,index l noop
bind generic,pager,editor,index m noop
bind generic,pager,editor,index n noop
bind generic,pager,editor,index o noop
bind generic,pager,editor,index p noop
bind generic,pager,editor,index q noop
bind generic,pager,editor,index r noop
bind generic,pager,editor,index s noop
bind generic,pager,editor,index t noop
bind generic,pager,editor,index u noop
bind generic,pager,editor,index v noop
bind generic,pager,editor,index w noop
bind generic,pager,editor,index x noop
bind generic,pager,editor,index y noop
bind generic,pager,editor,index z noop
bind generic,pager,editor,index A noop
bind generic,pager,editor,index B noop
bind generic,pager,editor,index C noop
bind generic,pager,editor,index D noop
bind generic,pager,editor,index E noop
bind generic,pager,editor,index F noop
bind generic,pager,editor,index G noop
bind generic,pager,editor,index H noop
bind generic,pager,editor,index I noop
bind generic,pager,editor,index J noop
bind generic,pager,editor,index K noop
bind generic,pager,editor,index L noop
bind generic,pager,editor,index M noop
bind generic,pager,editor,index N noop
bind generic,pager,editor,index O noop
bind generic,pager,editor,index P noop
bind generic,pager,editor,index Q noop
bind generic,pager,editor,index R noop
bind generic,pager,editor,index S noop
bind generic,pager,editor,index T noop
bind generic,pager,editor,index U noop
bind generic,pager,editor,index V noop
bind generic,pager,editor,index W noop
bind generic,pager,editor,index X noop
bind generic,pager,editor,index Y noop
bind generic,pager,editor,index Z noop
bind generic,pager,editor,index <Tab> noop
bind generic,pager,editor,index <Space> noop
bind generic,pager,editor,index <PageUp> noop
bind generic,pager,editor,index <PageDown> noop
bind generic,pager,editor,index <Home> noop
bind generic,pager,editor,index <End> noop
bind generic,pager,editor,index <Insert> noop
bind generic,pager,editor,index <Delete> noop
bind generic,pager,editor,index <Up> noop
bind generic,pager,editor,index <Down> noop
bind generic,pager,editor,index <Left> noop
bind generic,pager,editor,index <Right> noop
bind generic,pager,editor,index <Enter> noop
bind generic,pager,editor,index <Return> noop
bind generic,pager,editor,index 1 noop
bind generic,pager,editor,index 2 noop
bind generic,pager,editor,index 3 noop
bind generic,pager,editor,index 4 noop
bind generic,pager,editor,index 5 noop
bind generic,pager,editor,index 6 noop
bind generic,pager,editor,index 7 noop
bind generic,pager,editor,index 8 noop
bind generic,pager,editor,index 9 noop
bind generic,pager,editor,index 0 noop
bind generic,pager,editor,index ! noop
bind generic,pager,editor,index @ noop
bind generic,pager,editor,index $ noop
bind generic,pager,editor,index % noop
bind generic,pager,editor,index ^ noop
bind generic,pager,editor,index & noop
bind generic,pager,editor,index * noop
bind generic,pager,editor,index ( noop
bind generic,pager,editor,index ) noop
bind generic,pager,editor,index \Ca noop
bind generic,pager,editor,index \Cb noop
bind generic,pager,editor,index \Cc noop
bind generic,pager,editor,index \Cd noop
bind generic,pager,editor,index \Ce noop
bind generic,pager,editor,index \Cf noop
bind generic,pager,editor,index \Cg noop
bind generic,pager,editor,index \Ch noop
bind generic,pager,editor,index \Ci noop
bind generic,pager,editor,index \Cj noop
bind generic,pager,editor,index \Ck noop
bind generic,pager,editor,index \Cl noop
bind generic,pager,editor,index \Cm noop
bind generic,pager,editor,index \Cn noop
bind generic,pager,editor,index \Co noop
bind generic,pager,editor,index \Cp noop
bind generic,pager,editor,index \Cq noop
bind generic,pager,editor,index \Cr noop
bind generic,pager,editor,index \Cs noop
bind generic,pager,editor,index \Ct noop
bind generic,pager,editor,index \Cu noop
bind generic,pager,editor,index \Cv noop
bind generic,pager,editor,index \Cw noop
bind generic,pager,editor,index \Cx noop
bind generic,pager,editor,index \Cy noop
bind generic,pager,editor,index \Cz noop
bind generic,pager,editor,index \CA noop
bind generic,pager,editor,index \CB noop
bind generic,pager,editor,index \CC noop
bind generic,pager,editor,index \CD noop
bind generic,pager,editor,index \CE noop
bind generic,pager,editor,index \CF noop
bind generic,pager,editor,index \CG noop
bind generic,pager,editor,index \CH noop
bind generic,pager,editor,index \CI noop
bind generic,pager,editor,index \CJ noop
bind generic,pager,editor,index \CK noop
bind generic,pager,editor,index \CL noop
bind generic,pager,editor,index \CM noop
bind generic,pager,editor,index \CN noop
bind generic,pager,editor,index \CO noop
bind generic,pager,editor,index \CP noop
bind generic,pager,editor,index \CQ noop
bind generic,pager,editor,index \CR noop
bind generic,pager,editor,index \CS noop
bind generic,pager,editor,index \CT noop
bind generic,pager,editor,index \CU noop
bind generic,pager,editor,index \CV noop
bind generic,pager,editor,index \CW noop
bind generic,pager,editor,index \CX noop
bind generic,pager,editor,index \CY noop
bind generic,pager,editor,index \CZ noop
bind generic,pager,editor,index \C<Tab> noop
bind generic,pager,editor,index \C<Space> noop
bind generic,pager,editor,index \C<PageUp> noop
bind generic,pager,editor,index \C<PageDown> noop
bind generic,pager,editor,index \C<Home> noop
bind generic,pager,editor,index \C<End> noop
bind generic,pager,editor,index \C<Insert> noop
bind generic,pager,editor,index \C<Delete> noop
bind generic,pager,editor,index \C<Up> noop
bind generic,pager,editor,index \C<Down> noop
bind generic,pager,editor,index \C<Left> noop
bind generic,pager,editor,index \C<Right> noop
bind generic,pager,editor,index \C<Enter> noop
bind generic,pager,editor,index \C<Return> noop
bind generic,pager,editor,index \C1 noop
bind generic,pager,editor,index \C2 noop
bind generic,pager,editor,index \C3 noop
bind generic,pager,editor,index \C4 noop
bind generic,pager,editor,index \C5 noop
bind generic,pager,editor,index \C6 noop
bind generic,pager,editor,index \C7 noop
bind generic,pager,editor,index \C8 noop
bind generic,pager,editor,index \C9 noop
bind generic,pager,editor,index \C0 noop
bind generic,pager,editor,index \C! noop
bind generic,pager,editor,index \C$ noop
bind generic,pager,editor,index \C% noop
bind generic,pager,editor,index \C^ noop
bind generic,pager,editor,index \C& noop
bind generic,pager,editor,index \C* noop
bind generic,pager,editor,index \C( noop
bind generic,pager,editor,index \C) noop
bind generic,pager,editor,index <Esc>a noop
bind generic,pager,editor,index <Esc>b noop
bind generic,pager,editor,index <Esc>c noop
bind generic,pager,editor,index <Esc>d noop
bind generic,pager,editor,index <Esc>e noop
bind generic,pager,editor,index <Esc>f noop
bind generic,pager,editor,index <Esc>g noop
bind generic,pager,editor,index <Esc>h noop
bind generic,pager,editor,index <Esc>i noop
bind generic,pager,editor,index <Esc>j noop
bind generic,pager,editor,index <Esc>k noop
bind generic,pager,editor,index <Esc>l noop
bind generic,pager,editor,index <Esc>m noop
bind generic,pager,editor,index <Esc>n noop
bind generic,pager,editor,index <Esc>o noop
bind generic,pager,editor,index <Esc>p noop
bind generic,pager,editor,index <Esc>q noop
bind generic,pager,editor,index <Esc>r noop
bind generic,pager,editor,index <Esc>s noop
bind generic,pager,editor,index <Esc>t noop
bind generic,pager,editor,index <Esc>u noop
bind generic,pager,editor,index <Esc>v noop
bind generic,pager,editor,index <Esc>w noop
bind generic,pager,editor,index <Esc>x noop
bind generic,pager,editor,index <Esc>y noop
bind generic,pager,editor,index <Esc>z noop
bind generic,pager,editor,index <Esc>A noop
bind generic,pager,editor,index <Esc>B noop
bind generic,pager,editor,index <Esc>C noop
bind generic,pager,editor,index <Esc>D noop
bind generic,pager,editor,index <Esc>E noop
bind generic,pager,editor,index <Esc>F noop
bind generic,pager,editor,index <Esc>G noop
bind generic,pager,editor,index <Esc>H noop
bind generic,pager,editor,index <Esc>I noop
bind generic,pager,editor,index <Esc>J noop
bind generic,pager,editor,index <Esc>K noop
bind generic,pager,editor,index <Esc>L noop
bind generic,pager,editor,index <Esc>M noop
bind generic,pager,editor,index <Esc>N noop
bind generic,pager,editor,index <Esc>O noop
bind generic,pager,editor,index <Esc>P noop
bind generic,pager,editor,index <Esc>Q noop
bind generic,pager,editor,index <Esc>R noop
bind generic,pager,editor,index <Esc>S noop
bind generic,pager,editor,index <Esc>T noop
bind generic,pager,editor,index <Esc>U noop
bind generic,pager,editor,index <Esc>V noop
bind generic,pager,editor,index <Esc>W noop
bind generic,pager,editor,index <Esc>X noop
bind generic,pager,editor,index <Esc>Y noop
bind generic,pager,editor,index <Esc>Z noop
bind generic,pager,editor,index <Esc><Tab> noop
bind generic,pager,editor,index <Esc><Space> noop
bind generic,pager,editor,index <Esc><PageUp> noop
bind generic,pager,editor,index <Esc><PageDown> noop
bind generic,pager,editor,index <Esc><Home> noop
bind generic,pager,editor,index <Esc><End> noop
bind generic,pager,editor,index <Esc><Insert> noop
bind generic,pager,editor,index <Esc><Delete> noop
bind generic,pager,editor,index <Esc><Up> noop
bind generic,pager,editor,index <Esc><Down> noop
bind generic,pager,editor,index <Esc><Left> noop
bind generic,pager,editor,index <Esc><Right> noop
bind generic,pager,editor,index <Esc><Enter> noop
bind generic,pager,editor,index <Esc><Return> noop
bind generic,pager,editor,index <Esc>1 noop
bind generic,pager,editor,index <Esc>2 noop
bind generic,pager,editor,index <Esc>3 noop
bind generic,pager,editor,index <Esc>4 noop
bind generic,pager,editor,index <Esc>5 noop
bind generic,pager,editor,index <Esc>6 noop
bind generic,pager,editor,index <Esc>7 noop
bind generic,pager,editor,index <Esc>8 noop
bind generic,pager,editor,index <Esc>9 noop
bind generic,pager,editor,index <Esc>0 noop
bind generic,pager,editor,index <Esc>! noop
bind generic,pager,editor,index <Esc>@ noop
bind generic,pager,editor,index <Esc>$ noop
bind generic,pager,editor,index <Esc>% noop
bind generic,pager,editor,index <Esc>^ noop
bind generic,pager,editor,index <Esc>& noop
bind generic,pager,editor,index <Esc>* noop
bind generic,pager,editor,index <Esc>( noop
bind generic,pager,editor,index <Esc>) noop
# Generic can happen anywhere (except pager and editor)
# Browser is the list of mailboxes
# Index = the list of messages
# Pager is when you have an email open
### General bindings ###
# Jump to the beginning/end
bind generic,index 0 first-entry
bind generic,index $ last-entry
# Set 'q' to let us exit from anywhere
bind generic,index,pager,index Q exit
macro generic,index,pager q "QQQ"
# Default Left/Right to go backwards/fowr
bind generic,index <Return> select-entry
bind generic,index <Right> select-entry
bind generic,index l select-entry
# Make up/down do the logical thing
bind generic,index <Up> previous-entry
bind generic,index <Down> next-entry
bind generic,index k previous-entry
bind generic,index j next-entry
bind generic,index,pager <PageUp> previous-page
bind generic,index,pager <PageDown> next-page
# Reload configuration
macro generic,index,pager,editor ,<Space> ":source ~/.mutt/muttrc\n" "Reload mutt's configuration file"
# Other oddds and ends
bind generic,index,pager / search
bind generic,index,pager : enter-command
### Browser bindings ###
## Browser is used when viewing the list of mailboxes
bind browser <Space> check-new
bind browser N select-new
### Index bindings ###
## Index is used when viewing the list of emails in a mailbox
# Changing folders
bind index c change-folder
macro index <Left> "c?\t" "Go back to the list of mailboxes"
macro index h "c?\t" "Go back to the list of mailboxes"
# Setting/clearing flags
bind index W clear-flag
bind index w set-flag
bind index P previous-new-then-unread
bind index N next-new-then-unread
bind index t read-thread
macro index T tn
macro index ! wN "Mark email as unread"
macro index r WN<up>n "Mark as read, then go to next"
# Reply/forward/etc.
bind index m mail
bind index \Cr reply
bind index <Esc>r group-reply # Control-r
bind index R list-reply
bind index b bounce-message
bind index f forward-message
# Odds and ends
bind index <Return> display-message
bind index <Right> display-message
macro index <Left> "c?\t"
macro index h "c?\t"
bind index l display-message
bind index @ display-address
bind index a create-alias
bind index / limit
bind index o sort-mailbox
bind index p print-message
bind index s save-message
bind index | pipe-message
bind index n next-unread
# Delete
bind index d delete-message
bind index D purge-message
bind index u undelete-message
bind index S sync-mailbox
### Pager bindings ###
## Pager is used on the 'help' screen, as well as when reading emails
bind pager <Up> previous-line
bind pager <Down> next-line
bind pager k previous-line
bind pager l next-line
# Reply/forward/etc.
bind pager m mail
bind pager \Cr reply
bind pager <Esc>r group-reply # Control-r
bind pager R list-reply
bind pager b bounce-message
bind pager f forward-message
# Odds and ends
bind pager @ display-address
bind pager a create-alias
bind pager o sort-mailbox
bind pager p print-message
bind pager s save-message
bind pager | pipe-message
bind pager <Right> view-attachments
bind pager <Left> exit
bind pager l view-attachments
bind pager h exit
bind pager n next-entry
bind pager N next-unread
bind pager h display-toggle-weed
### Attach is on the attachments list
bind attach <Left> exit
bind attach <Right> view-text
bind index,pager B sidebar-toggle-visible
bind index,pager \Cp sidebar-prev
bind index,pager \Cn sidebar-next
bind index,pager \Co sidebar-open
macro index ,so "l ^a^k^O\n" "Show old messages only"
macro index ,sn "l ^a^k~N\n" "Show unread/new only"
macro index ,sf "l ~F\n" "Show flagged messages only"
macro index ,si "l (~n5-100|~N)\n" "Show higher scoring messages"
macro index ,sa "l ^a^kall\n" "Show all messages"
macro index ,hl "l ^a^k!~l\n" "Hide list messages"
macro index A "<limit>all\n" "show all messages (undo limit)"

16
mutt/.mutt/mailboxes.conf Normal file
View file

@ -0,0 +1,16 @@
# vim: set ft=muttrc
mailboxes = +sanchayan-net/Inbox
mailboxes = +sanchayan-net/Coffee
mailboxes = +sanchayan-net/ietf
mailboxes = +sanchayan-net/gstreamer
mailboxes = +sanchayan-net/FreedesktopGitlab
mailboxes = +sanchayan-com/Inbox
mailboxes = +sanchayan/Inbox
mailboxes = +asymptotic/bluez
mailboxes = +asymptotic/Inbox
mailboxes = +fastmail/Inbox

View file

@ -1,147 +1,8 @@
# vim: syntax=muttrc set folder = ~/Mail
set mbox_type = Maildir source ~/.mutt/keybindings.conf
set folder = ~/Mail source ~/.mutt/mailboxes.conf
set spoolfile = +/sanchayan-net/Inbox source ~/.mutt/common.conf
set header_cache=~/Mail/.mutt_cache/ source ~/.mutt/colours.conf
source ~/.mutt/pgp.conf
source ~/.mutt/gpgrc source ~/.mutt/accounts.conf
source ~/.mutt/accounts/sanchayan-net
source ~/.mutt/accounts/sanchayan-com
source ~/.mutt/accounts/sanchayan
source ~/.mutt/accounts/asymptotic
source ~/.mutt/accounts/fastmail
folder-hook sanchayan-net/* source ~/.mutt/accounts/sanchayan-net
folder-hook sanchayan-com/* source ~/.mutt/accounts/sanchayan-com
folder-hook sanchayan/* source ~/.mutt/accounts/sanchayan
folder-hook asymptotic/* source ~/.mutt/accounts/asymptotic
folder-hook fastmail/* source ~/.mutt/accounts/fastmail
set mail_check = 0
set envelope_from
unset move # gmail does that
set delete # don't ask, just do
unset confirmappend # don't ask, just do!
set quit # don't ask, just do!!
unset mark_old # read/new is good enough for me
# sort/threading
set sort = threads
set sort_aux = reverse-last-date-received
set sort_re
# look and feel
set pager_index_lines = 8
set pager_context = 5
set pager_stop
set menu_scroll
set smart_wrap
set tilde
unset markers
# composing
set fcc_attach
unset mime_forward
set forward_format = "Fwd: %s"
set include
set forward_quote
ignore * # first, ignore all headers
unignore from: to: cc: date: subject: # then, show only these
hdr_order from: to: cc: date: subject: # and in this order
source ~/.mutt/gruvbox.muttrc
set send_charset="us-ascii:utf-8"
set send_charset="utf-8"
set editor="nvim"
set date_format="%y-%m-%d %T"
set index_format="%2C | %Z [%d] %-30.30F (%-4.4c) %s"
set sleep_time = 0
set mailcap_path = ~/.mutt/mailcap
auto_view text/html
alternative_order text/plain text/html
## Add this sender to Abook
bind editor <Tab> complete-query
set edit_headers = yes
# 'L' performs a notmuch query, showing only the results
macro index L "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern"
# 'a' shows all messages again (supersedes default <alias> binding)
macro index a "<limit>all\n" "show all messages (undo limit)"
# Binding 'ca' will alias 'c
bind index c noop
macro index C '<change-folder>?<change-dir><home>^K=<enter>'
macro index cn '<enter-command>source ~/.mutt/muttrc/accounts/sanchayan-net<enter><change-folder>=sanchayan-net/Inbox/<enter>'
macro index cc '<enter-command>source ~/.mutt/muttrc/accounts/sanchayan-com<enter><change-folder>=sanchayan-com/Inbox/<enter>'
macro index cg '<enter-command>source ~/.mutt/muttrc/accounts/sanchayan<enter><change-folder>=sanchayan/Inbox/<enter>'
macro index ca '<enter-command>source ~/.mutt/muttrc/accounts/asymptotic<enter><change-folder>=asymptotic/Inbox/<enter>'
macro index cf '<enter-command>source ~/.mutt/muttrc/accounts/fastmail<enter><change-folder>=fastmail/Inbox/<enter>'
macro index ,so "l ^a^k^O\n" "show old messages only"
macro index ,sn "l ^a^k~N\n" "show unread/new only"
macro index ,sf "l ~F\n" "show flagged messages only"
macro index ,si "l (~n5-100|~N)\n" "show higher scoring messages"
macro index ,hl "l ^a^k!~l\n" "hide list messages"
macro index ,sa "l ^a^kall\n" "show all messages"
bind pager <up> previous-line
bind pager <down> next-line
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
set mail_check_stats
set sidebar_width = 40
set sidebar_short_path = no
bind index,pager B sidebar-toggle-visible
bind index,pager \Cp sidebar-prev
bind index,pager \Cn sidebar-next
bind index,pager \Co sidebar-open
mailboxes = +sanchayan-net/Inbox
mailboxes = +sanchayan-net/Coffee
mailboxes = +sanchayan-net/ietf
mailboxes = +sanchayan-net/gstreamer
mailboxes = +sanchayan-net/FreedesktopGitlab
mailboxes = +sanchayan-net/Sent
mailboxes = +sanchayan-net/Spam
mailboxes = +sanchayan-net/Trash
mailboxes = +sanchayan-com/Inbox
mailboxes = +sanchayan-com/Sent
mailboxes = +sanchayan-com/Spam
mailboxes = +sanchayan-com/Trash
mailboxes = +sanchayan/Inbox
mailboxes = +sanchayan/Sent
mailboxes = +sanchayan/Spam
mailboxes = +asymptotic/bluez
mailboxes = +asymptotic/Inbox
mailboxes = +asymptotic/Sent
mailboxes = +asymptotic/Trash
mailboxes = +fastmail/Inbox
mailboxes = +fastmail/Sent
mailboxes = +fastmail/Spam
# GPG signing options
set crypt_autosign = "no"
set crypt_replyencrypt = "yes"
set crypt_replysign = "yes"
set crypt_replysignencrypted = "yes"
set crypt_opportunistic_encrypt = "no"
set postpone_encrypt = "no"
set pgp_use_gpg_agent = "yes"
set pgp_default_key = "6F6A0609C12038F3"

View file

@ -113,4 +113,3 @@ set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
# This is now deprecated by pgp_check_gpg_decrypt_status_fd: # This is now deprecated by pgp_check_gpg_decrypt_status_fd:
# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" # set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY"
set pgp_check_gpg_decrypt_status_fd set pgp_check_gpg_decrypt_status_fd