summaryrefslogtreecommitdiffstats
path: root/mutt/.config
diff options
context:
space:
mode:
Diffstat (limited to 'mutt/.config')
-rwxr-xr-xmutt/.config/mutt/choose-muttrc-type12
-rw-r--r--mutt/.config/mutt/imap7
-rw-r--r--mutt/.config/mutt/local16
-rw-r--r--mutt/.config/mutt/mailcap16
-rw-r--r--mutt/.config/mutt/muttrc158
5 files changed, 209 insertions, 0 deletions
diff --git a/mutt/.config/mutt/choose-muttrc-type b/mutt/.config/mutt/choose-muttrc-type
new file mode 100755
index 0000000..ddadb70
--- /dev/null
+++ b/mutt/.config/mutt/choose-muttrc-type
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -eu
+set -o pipefail
+
+case "$(hostname)" in
+hornet)
+ echo 'source ~/.config/mutt/local'
+ ;;
+*)
+ echo 'source ~/.config/mutt/imap'
+ ;;
+esac
diff --git a/mutt/.config/mutt/imap b/mutt/.config/mutt/imap
new file mode 100644
index 0000000..13ed472
--- /dev/null
+++ b/mutt/.config/mutt/imap
@@ -0,0 +1,7 @@
+set folder="imap://doy@mail.tozt.net"
+set spoolfile="=INBOX"
+bind index R imap-fetch-mail
+set timeout=60
+set mail_check=60
+
+# vim: ft=neomuttrc
diff --git a/mutt/.config/mutt/local b/mutt/.config/mutt/local
new file mode 100644
index 0000000..636bd29
--- /dev/null
+++ b/mutt/.config/mutt/local
@@ -0,0 +1,16 @@
+set mbox_type=Maildir
+set folder="~/Maildir"
+set spoolfile="~/Maildir/INBOX"
+mailboxes `\
+ for folder in ~/Maildir/*; do\
+ basename=$(basename "$folder");\
+ if [ "x${basename:0:4}" != "xold."\
+ -a "x$basename" != "xspam"\
+ -a "x$basename" != "xnotmuch" ]; then\
+ echo -n "\"=$basename\" ";\
+ fi\
+ done`
+macro index R "<enter-command>unset wait_key<enter><shell-escape>kill -HUP $(systemctl --user show --property MainPID --value mbsyncloop)<enter><enter-command>set wait_key<enter>" "fetch mail with mbsync"
+set timeout=3
+
+# vim: ft=neomuttrc
diff --git a/mutt/.config/mutt/mailcap b/mutt/.config/mutt/mailcap
new file mode 100644
index 0000000..a791985
--- /dev/null
+++ b/mutt/.config/mutt/mailcap
@@ -0,0 +1,16 @@
+text/plain; less '%s'; needsterminal
+text/html; elinks -force-html -dump '%s'; copiousoutput; description=HTML Text; nametemplate=%s.html
+application/x-tar; /bin/tar tvf -; print=/bin/tar tvf - | print text/plain:-; copiousoutput
+application/x-gtar; /bin/tar tvzf -; print=/bin/tar tvzf - | print text/plain:-; copiousoutput
+application/zip; unzip -l '%s'; nametemplate=%s.zip; copiousoutput
+text/*; less '%s'; needsterminal
+image/png; sxiv '%s'
+image/jpeg; sxiv '%s'
+image/gif; sxiv '%s'
+image/bmp; sxiv '%s'
+image/tiff; sxiv '%s'
+application/pdf; zathura '%s'
+application/msword; libreoffice '%s'
+application/vnd.ms-excel; libreoffice '%s'
+application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice '%s'
+application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; libreoffice '%s'
diff --git a/mutt/.config/mutt/muttrc b/mutt/.config/mutt/muttrc
new file mode 100644
index 0000000..8321ba1
--- /dev/null
+++ b/mutt/.config/mutt/muttrc
@@ -0,0 +1,158 @@
+source '~/.config/mutt/choose-muttrc-type|'
+# folders {{{
+set record="=Sent"
+set postponed="=Drafts"
+set header_cache="~/.cache/mutt/headers"
+set message_cachedir="~/.cache/mutt/bodies"
+set mailcap_path="~/.config/mutt/mailcap"
+set nm_default_url="notmuch://$HOME/.cache/notmuch"
+# }}}
+# identity {{{
+# i am "Jesse Luehrs <doy@tozt.net>"
+set realname="Jesse Luehrs"
+set from="doy@tozt.net"
+# use whatever is in the From header as my envelope-from
+set envelope_from
+# use whatever is in the To header as my From for replies
+set reverse_name
+# my other email addresses
+alternates ^.*@tozt.net$ ^jesse\.luehrs@iinteractive\.com$ ^doy@cpan\.org$
+# }}}
+# display {{{
+# attachments {{{
+# automatically view html emails via mailcap configuration
+set implicit_autoview
+auto_view text/html
+alternative_order text/calendar text/plain text/html
+# }}}
+# headers {{{
+ignore *
+unignore from date to cc reply-to list-id x-mailing-list x-spam-status subject
+hdr_order from date to cc reply-to list-id x-mailing-list x-spam-status subject
+# }}}
+# colors {{{
+color normal white black
+color attachment brightyellow black
+color hdrdefault cyan black
+color indicator black cyan
+color markers brightred black
+color quoted green black
+color signature cyan black
+color status brightgreen blue
+color tilde blue black
+color tree red black
+
+color quoted green default
+color quoted1 brightgreen default
+color quoted2 green default
+color quoted3 brightgreen default
+color quoted4 green default
+color quoted5 brightgreen default
+color quoted6 green default
+color quoted7 brightgreen default
+color quoted8 green default
+color quoted9 brightgreen default
+# }}}
+# misc {{{
+# no + on wrapped lines
+unset markers
+# show tildes at the end of messages (like vi)
+set tilde
+# keep some of the index shown when reading an email
+set pager_index_lines=6
+# put the status bar on top
+set status_on_top
+# customize the status bar
+set status_chars=" *%A"
+set status_format="───[ %f%r (%s%?V?:%V?): %?M?%M/?%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)?%?F? (%F flagged)? ]───%?b?[ %b more ]───?───%*─(%P)───"
+# customize the index view
+set index_format=" %{%Y-%m-%d %H:%M} │%Z│ %-20.20L │ %s"
+# }}}
+# }}}
+# interaction {{{
+# reading {{{
+# don't beep for errors, only new messages
+unset beep
+set beep_new
+# scroll menus, rather than paging
+set menu_scroll
+# page up/page down should have one line of context
+set pager_context=1
+# sort by thread, with threads with new messages last
+set sort=threads
+set sort_aux=last-date-received
+# don't automatically move to the next message
+set pager_stop
+# don't use the 'old' status
+unset mark_old
+# notify about all folders with new mail, even if i've seen it
+unset mail_check_recent
+# use the decoded mail body for pipe commands and searching
+set pipe_decode
+set thorough_search
+# }}}
+# composing {{{
+# always include a copy of the message in replies
+set include
+# don't prompt for unnecessary things when replying and forwarding
+set fast_reply
+# use the Reply-To header in preference to the From header
+set reply_to
+# }}}
+# search {{{
+set nm_exclude_tags=spam
+# }}}
+# prompts {{{
+# never automatically move read messages
+unset move
+# never prompt for purging deleted messages
+set delete
+# never prompt for appending messages to an existing mailbox
+unset confirmappend
+# never prompt for quitting
+set quit
+# }}}
+# bindings {{{
+bind generic , enter-command
+bind generic,pager,index B help
+
+bind pager,compose,attach i exit
+bind generic,index i noop
+
+bind generic,pager,index ? search-reverse
+bind generic,pager,index p search-opposite
+
+bind index,pager J half-down
+bind index,pager K half-up
+bind index <Down> next-entry
+bind index <Up> previous-entry
+bind pager j next-line
+bind pager k previous-line
+
+bind pager g top
+bind pager G bottom
+bind index g first-entry
+bind index G last-entry
+
+bind index,pager E entire-thread
+bind index,pager C vfolder-from-query
+macro index,pager I "c=INBOX<enter>"
+
+bind index,pager M compose-to-sender
+bind index,pager A group-reply
+
+macro index S "<enter-command>set resolve=no<enter><clear-flag>N<save-message>=Junk<enter><enter-command>set resolve=yes<enter>" "mark message as spam"
+
+bind editor <tab> complete-query
+# }}}
+# }}}
+# checking mail {{{
+# always open new imap connections when required
+set imap_passive=no
+# populate the mailboxes list from the imap subscription list
+set imap_check_subscribed
+# }}}
+# aliases {{{
+set query_command = "abook --mutt-query '%s'"
+# }}}
+# vim: fdm=marker ft=neomuttrc