muttrc 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. set mbox_type = Maildir
  2. set sendmail = /usr/bin/msmtp
  3. set folder = ~/Mail/Gmail/
  4. set spoolfile = "+INBOX"
  5. set mbox = "+archive"
  6. set postponed = "+drafts"
  7. unset record
  8. mailboxes \
  9. "+INBOX" \
  10. "+starred" \
  11. "+task" \
  12. "+CR" \
  13. "+ML.wikitech-l" \
  14. "+ML.mediawiki-l" \
  15. "+ML.wmfall" \
  16. "+ML.ops" \
  17. "+ML.github" \
  18. "+ML.debian-security" \
  19. "+ML.debian-user" \
  20. "+ML.debian-devel" \
  21. "+ML.debian-bugs" \
  22. "+ML.coreboot" \
  23. "+ML.unicode" \
  24. "+CI" \
  25. "+pipelinebot" \
  26. "+auto" \
  27. "+sent" \
  28. "+drafts" \
  29. "+archive" \
  30. "+spam" \
  31. "+trash"
  32. # main options
  33. set realname = "Tyler Cipriani"
  34. # set from = "tyler@tylercipriani.com"
  35. #
  36. send-hook . "set from = tyler@tylercipriani.com"
  37. send-hook "~t @wikimedia.org" "set from = tcipriani@wikimedia.org"
  38. send-hook "~t @lists.wikimedia.org" "set from = tcipriani@wikimedia.org"
  39. set mail_check = 5
  40. set envelope_from
  41. unset move # gmail does that
  42. set delete # don't ask, just do
  43. unset confirmappend # don't ask, just do!
  44. set quit # don't ask, just do!!
  45. unset mark_old # read/new is good enough for me
  46. # https://www.ietf.org/rfc/rfc2646.txt
  47. # http://www.mdlerch.com/emailing-mutt-and-vim-advanced-config.html
  48. set text_flowed
  49. # sort/threading
  50. set sort = threads
  51. set sort_aux = reverse-date-received
  52. # Too pedantic maybe
  53. # set sort_re
  54. # look and feel
  55. set pager_index_lines = 8
  56. set pager_context = 5
  57. set pager_stop
  58. set menu_scroll
  59. set smart_wrap
  60. set tilde
  61. unset markers
  62. set date_format="%y-%m-%d %T"
  63. set status_format = "-%r- %f%?t? Tagged:%t?%?n? New:%n? -%>-"
  64. # sidebar (requires patched mutt-sidebar)
  65. set sidebar_visible = yes
  66. set sidebar_width = 38
  67. # set sidebar_delim='│'
  68. set mail_check_stats=yes
  69. set sidebar_visible=yes
  70. set sidebar_format="%B%?F? [%F]?%* %?N?%N/?%S"
  71. # set sidebar_format="%B%* %S%?N?(%N)?%?F?[%F]?"
  72. set sidebar_indent_string=" "
  73. set sidebar_folder_indent=yes
  74. set sidebar_short_path=yes
  75. # composing
  76. set fcc_attach
  77. unset mime_forward
  78. set forward_format = "Fwd: %s"
  79. set include
  80. set forward_quote
  81. ignore * # first, ignore all headers
  82. unignore from: to: cc: date: subject: # then, show only these
  83. hdr_order from: to: cc: date: subject: # and in this order
  84. set beep_new # bell on new mail
  85. # GPG sign
  86. source ~/.mutt/gpgrc
  87. set pgp_timeout = 3600 # how long to cache the pass-phrase
  88. set crypt_autosign = yes # automatically sign all outgoing mail
  89. set crypt_replyencrypt = yes # automatically encrypt replies to encrypted messages
  90. set pgp_sign_as = 018FAC02 # my Key ID
  91. set pgp_use_gpg_agent = yes
  92. my_hdr X-PGP-Key: https://tylercipriani.com/018FAC02.asc
  93. # color
  94. source "$HOME/.mutt/colors"
  95. source "$HOME/.mutt/subscribe"
  96. # caching for faster search
  97. set header_cache = "~/Mail/Cache"
  98. set message_cachedir = "~/Mail/Cache"
  99. # attachments
  100. set mailcap_path = "~/.mutt/mailcap"
  101. bind attach <return> view-mailcap
  102. bind index,pager \CP sidebar-prev # Ctrl-Shift-P - Previous Mailbox
  103. bind index,pager \CN sidebar-next # Ctrl-Shift-N - Next Mailbox
  104. bind index,pager \CO sidebar-open # Ctrl-Shift-O - Open Highlighted Mailbox
  105. # Fix backspce in urxvt
  106. bind index,pager  previous-line
  107. # Contacts
  108. set query_command="goobook query %s"
  109. macro index,pager a \
  110. "<pipe-message>goobook add<return>" "add sender to google contacts"
  111. bind editor <Tab> complete-query
  112. bind index,pager R group-reply
  113. # Shortcuts
  114. source "$HOME/.mutt/vim-keys.rc"
  115. macro index ,t '<enter-command>toggle sidebar_visible<enter><refresh>'
  116. macro pager ,t '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
  117. macro pager ,u "|urlview<enter>" "call urlview to open links"
  118. macro index gi "<change-folder>!<return>" "go to inbox"
  119. macro index gs "<change-folder> =starred<return>" "go to starred"
  120. macro index ,z "<shell-escape>offlineimap -q -o<return>" "sync IMAP"
  121. macro pager ,g "|~/.mutt/view-web.py \
  122. --trim '<>' --ltrim 'X-Gerrit-ChangeURL:' 'X-Gerrit-ChangeURL'<enter>" \
  123. "Open gerrit link in browser"
  124. macro pager ,p ":set pipe_decode<enter>|~/.mutt/view-web.py \
  125. 'https://phabricator.wikimedia.org/'<enter> \
  126. :unset pipe_decode<enter>" \
  127. "Open phab link in browser"
  128. macro index <space> "<collapse-thread>" "uncollapse thread"
  129. macro index ,r \
  130. "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
  131. <pipe-message>notmuch-mutt -r thread<enter>\
  132. <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
  133. <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
  134. "notmuch: reconstruct thread"
  135. macro index ,s \
  136. "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
  137. <shell-escape>notmuch-mutt -r --prompt search<enter>\
  138. <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
  139. <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
  140. "notmuch: search mail"
  141. macro pager ,v \
  142. "<copy-message>/tmp/mutttmpbox\n<enter> \
  143. <shell-escape>~/.mutt/view_html_email.py<enter>" \
  144. "View HTML in browser"
  145. macro pager ,l "|~/.mutt/unsub.py<enter>" \
  146. "Find unsub header and open in browser"
  147. macro index A "<save-message>=archive\n<sync-mailbox>"
  148. # Sanely handle multi-part messages (prefer text part, but yield to
  149. # mailcap-configured rendering for html-only)
  150. # http://terminalmage.net/2014/03/16/how-i-read-html-email-with-mutt.html
  151. alternative_order text/plain text/html
  152. auto_view text/html