mail: Update to new neomutt structure
Updated notmuch to only be available for full-text search. Removed complete afew configuration. Added msmtp as mail sending agent. Added structured neomutt configuration with custom bindings, built for my personal gmail account, without any plaintext passwords revealed, etc. This is a reasonably well working mail setup, which should provide a stable starting point for further refinements. Additionally, added some functionality to `mail-check` script: Allowed user to choose sync target for each run, by passing in mbsync target (group/channel/..) as the argument. Also, allows setting password file to use for script through env var, and made imapfilter location less hard-coded to my system.
This commit is contained in:
parent
7a7ce3a296
commit
a99982028e
9 changed files with 279 additions and 187 deletions
|
|
@ -1,140 +1,6 @@
|
|||
# Identity
|
||||
#
|
||||
set realname = "Marty Oehme"
|
||||
set from = "marty.oehme@gmail.com"
|
||||
# # If you have another address:
|
||||
# alternates "^neomutt@example\.com$"
|
||||
# # Or, if you use the entire domain:
|
||||
# alternates "@example\.com$"
|
||||
# set reverse_name
|
||||
source colors
|
||||
source settings
|
||||
source maps
|
||||
|
||||
# Account settings
|
||||
# local maildir settings
|
||||
set mbox_type = Maildir
|
||||
set folder = ~/documents/mail # This has the shortcut '+' or '='
|
||||
set spoolfile = "+inbox" # This has the shortcut '!'
|
||||
set postponed = "+drafts"
|
||||
set trash = "+trash"
|
||||
# Disable saving outgoing mail since Gmail saves them by default.
|
||||
unset record
|
||||
mailboxes ! \
|
||||
"+important" \
|
||||
"+sent" \
|
||||
"+drafts" \
|
||||
"+trash" \
|
||||
"+archive"
|
||||
source account
|
||||
|
||||
set mail_check = 60
|
||||
set mail_check_stats
|
||||
|
||||
# Basic settings
|
||||
set quit # at least for rapid prototyping
|
||||
unset mark_old # things should only be new/unread or I actually looked at them
|
||||
set pipe_decode # get rid of headers when passing messages along
|
||||
set wait_key = no # don't wait for user input after shell cmds, auto-view, piping, etc
|
||||
# set
|
||||
set sort_re # thread based on regex below
|
||||
# set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
|
||||
|
||||
# display
|
||||
set sort = threads
|
||||
set sort_aux = reverse-last-date-received
|
||||
set date_format = "%z/%m/%d %I:%M%p"
|
||||
# set date_format = "%m/%d"
|
||||
set index_format = "%4C [%Z] %{%y/%b %d} %-20.20F %s"
|
||||
# sidebar view options
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 18
|
||||
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
|
||||
color sidebar_new color221 color233
|
||||
# statusbar view options
|
||||
set status_chars = " *%A"
|
||||
set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
|
||||
# pager view options
|
||||
set pager_index_lines = 5
|
||||
set pager_context = 3
|
||||
set pager_stop # do not go to next msg if at bottom of pager
|
||||
set menu_scroll = yes
|
||||
set tilde # show tildes for blank lines
|
||||
unset markers # no + markers for wrapped stuff
|
||||
# hide headers except for those explicitly unignored
|
||||
ignore *
|
||||
unignore From To Cc Bcc Date Subject Message-ID
|
||||
unhdr_order *
|
||||
unignore From To Cc Bcc Date Subject Message-ID
|
||||
|
||||
# index navigation
|
||||
bind index,pager g noop # don't send group-replies with g
|
||||
bind index gg first-entry
|
||||
bind index G last-entry
|
||||
bind index <space> collapse-thread
|
||||
# mailbox navigation
|
||||
macro index,pager gi "<change-folder>=inbox<enter>" "go to inbox"
|
||||
macro index,pager gm "<change-folder>=important<enter>" "go to important"
|
||||
macro index,pager gs "<change-folder>=sent<enter>" "go to sent"
|
||||
macro index,pager gd "<change-folder>=drafts<enter>" "go to drafts"
|
||||
macro index,pager gt "<change-folder>=trash<enter>" "go to trash"
|
||||
# sidebar navigation
|
||||
bind index,pager <down> sidebar-next
|
||||
bind index,pager <up> sidebar-prev
|
||||
bind index,pager <right> sidebar-open
|
||||
# bind index,pager \CO sidebar-open
|
||||
# pager navigation
|
||||
bind pager k previous-line
|
||||
bind pager j next-line
|
||||
bind pager gg top
|
||||
bind pager G bottom
|
||||
|
||||
# since we unbound the original g
|
||||
bind index,pager R group-reply
|
||||
# mark all read
|
||||
macro index \CN "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||
# open urls found in the e-mail
|
||||
macro pager \CU "|urlview<enter>" "call urlview to open links"
|
||||
|
||||
|
||||
# Sync email
|
||||
macro index O "<sync-mailbox><shell-escape>mbsync -c $XDG_CONFIG_HOME/isync/mbsyncrc -a<enter><sync-mailbox>" "refresh all e-mail"
|
||||
macro index o "<sync-mailbox><shell-escape>mbsync -c $XDG_CONFIG_HOME/isync/mbsyncrc gmail-inbox<enter><sync-mailbox>" "refresh inbox e-mail"
|
||||
|
||||
# Saner copy/move dialogs
|
||||
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
|
||||
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
|
||||
|
||||
# pager settings
|
||||
# filetypes and mailcap
|
||||
set mailcap_path = "~/.config/neomutt/mailcap:~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
|
||||
|
||||
# Prefer plain text to html.
|
||||
# However, for brain dead clients that bundle attachments inside a
|
||||
# multipart/alternative, prefer that alternative.
|
||||
alternative_order multipart/mixed multipart/related text/plain
|
||||
alternative_order text/plain text/enriched text/html
|
||||
|
||||
# Consult mime.types for determining types of these attachments
|
||||
mime_lookup application/octet-stream
|
||||
|
||||
# This requires a ~/.mailcap entry with the copiousoutput flag, such as:
|
||||
# text/html; lynx -dump -width ${COLUMNS:-80} %s; nametemplate=%s.html; copiousoutput
|
||||
auto_view text/html
|
||||
|
||||
# Remember to `mkdir -p ~/.neomutt/hcache` first:
|
||||
set header_cache= "~/.neomutt/hcache"
|
||||
|
||||
###############
|
||||
# Message composition settings
|
||||
#
|
||||
set edit_headers
|
||||
|
||||
# set editor = "emacsclient -a emacs -t"
|
||||
# set editor = "vim"
|
||||
|
||||
set mime_type_query_command = "xdg-mime query filetype"
|
||||
|
||||
# msmtp is a solid SMTP client.
|
||||
# neomutt also has built-in SMTP, or you can use an MTA like exim4 or postfix.
|
||||
set sendmail = "/usr/bin/msmtp"
|
||||
|
||||
# lbdb is a versatile contact query tool.
|
||||
# Invoke via ctrl-t in an address prompt
|
||||
set query_command = "/usr/bin/lbdbq"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue