aboutsummaryrefslogtreecommitdiff
path: root/.mutt
diff options
context:
space:
mode:
authorRaúl Benencia <rul@kalgan.cc>2019-06-28 09:12:18 -0700
committerRaúl Benencia <rul@kalgan.cc>2019-06-28 09:17:03 -0700
commit9c689b4c78b0b651f2e79d27a0d602b380a90c6e (patch)
tree52ac5052ee72c8199922731abe21d691a4c56523 /.mutt
parent75d5acaa867462615f07607fcb7008d2785a6d91 (diff)
Add mutt config
Diffstat (limited to '.mutt')
-rw-r--r--.mutt/muttrc64
-rw-r--r--.mutt/muttrc.aliases3
-rw-r--r--.mutt/muttrc.binds13
-rw-r--r--.mutt/muttrc.colors60
-rw-r--r--.mutt/muttrc.hooks5
-rwxr-xr-x.mutt/muttrc.hooks.env5
-rw-r--r--.mutt/muttrc.macros52
-rwxr-xr-x.mutt/muttrc.macros.env5
-rwxr-xr-x.mutt/muttrc.mailboxes.env7
-rwxr-xr-x.mutt/muttrc.send.env10
-rw-r--r--.mutt/muttrc.sidebar6
-rw-r--r--.mutt/muttrc.theme.dracula42
-rw-r--r--.mutt/muttrc.theme.gruvbox-shuber81
13 files changed, 353 insertions, 0 deletions
diff --git a/.mutt/muttrc b/.mutt/muttrc
new file mode 100644
index 0000000..a8a0245
--- /dev/null
+++ b/.mutt/muttrc
@@ -0,0 +1,64 @@
+# The basics
+set folder="~/mail"
+set header_cache = "~/.cache/mutt/headers"
+set mbox_type=Maildir
+set message_cachedir = "~/.cache/mutt/messages"
+set postponed="=drafts"
+set record="sent"
+set sort="threads"
+set forward_format = "Fwd: %s" # Format of subject when forwarding
+
+# Tweaks
+unset help # Remove annoying messages
+set beep_new
+set charset="utf-8"
+set fast_reply
+set fast_reply=yes # Skip prompt for subject and recipients when replying
+set hidden_host=yes
+set include # Include message in replies
+set mailcap_path = $HOME/.mailcap
+set mark_old=no
+set markers=no
+set mask="!^\\.[^.]"
+set pager_context=5 # Retain 5 lines of previous page when scrolling.
+set send_charset="utf-8"
+set sleep_time = 0
+set smart_wrap # Do not wrap mid word
+set wait_key=no
+
+# Pager
+set pager_index_lines = 10 # Number of index lines to show
+set pager_context = 3 # Number of context lines to show
+set pager_stop # Don't go to next message automatically
+
+# PGP
+set pgp_auto_decode=yes
+set pgp_getkeys_command="gpg --recv-keys %r 2>/dev/null"
+
+# Sanitize messages with t-prot
+set display_filter='t-prot -cmekatlS --max-lines=250 --bigq --pgp-short --pgp-move --pgp-move-vrf -Mmutt -L/etc/t-prot/footers -A/etc/t-prot/ads'
+
+# Date format
+set date_format="!%a, %b %d, %Y at %I:%M:%S%p %Z"
+
+# Conditional time
+set index_format='%4C %Z %<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> %-15.15L (%?l?%4l&%4c?) %s'
+
+# Status Bar
+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 )?───"
+
+# HTML
+auto_view text/html image/* application/x-gunzip application/x-tar-gz
+alternative_order text/plain text/enriched text/html
+
+# Extra configs
+source "$HOME/.mutt/muttrc.aliases"
+source "$HOME/.mutt/muttrc.binds"
+source "$HOME/.mutt/muttrc.colors"
+source "$HOME/.mutt/muttrc.hooks"
+source "$HOME/.mutt/muttrc.macros"
+source "$HOME/.mutt/muttrc.sidebar"
+
+source "$HOME/.mutt/muttrc.mailboxes.env|"
+source "$HOME/.mutt/muttrc.send.env|"
diff --git a/.mutt/muttrc.aliases b/.mutt/muttrc.aliases
new file mode 100644
index 0000000..0b0bcaf
--- /dev/null
+++ b/.mutt/muttrc.aliases
@@ -0,0 +1,3 @@
+set alias_file="$HOME/.mutt/muttrc.aliases"
+
+# Add your aliases here
diff --git a/.mutt/muttrc.binds b/.mutt/muttrc.binds
new file mode 100644
index 0000000..a595874
--- /dev/null
+++ b/.mutt/muttrc.binds
@@ -0,0 +1,13 @@
+# mutt sidebar settings
+bind index,pager \CP sidebar-prev
+bind index,pager \CN sidebar-next
+bind index,pager \CO sidebar-open
+
+bind index,pager p previous-entry
+bind index,pager n next-entry
+
+bind pager i exit
+bind pager z create-alias
+
+bind index <Esc><Tab> next-unread-mailbox
+bind pager <Esc><Tab> next-unread-mailbox
diff --git a/.mutt/muttrc.colors b/.mutt/muttrc.colors
new file mode 100644
index 0000000..c463740
--- /dev/null
+++ b/.mutt/muttrc.colors
@@ -0,0 +1,60 @@
+## Diffs
+color body green default "^diff \-.*"
+color body green default "^index [a-f0-9].*"
+color body green default "^\-\-\- .*"
+color body green default "^[\+]{3} .*"
+color body cyan default "^[\+][^\+]+.*"
+color body red default "^\-[^\-]+.*"
+color body brightblue default "^@@ .*"
+
+# Various smilies and the like
+color body brightwhite default "<[Gg]>" # <g>
+color body brightwhite default "<[Bb][Gg]>" # <bg>
+color body yellow default " [;:]-*[})>{(<|]" # :-) etc...
+
+# *bold*
+color body brightyellow default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
+mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
+
+# _underline_
+color body brightred default "(^|[[:space:]])"
+
+color sidebar_new color221 default
+
+# index stuff
+color tree color244 default
+color indicator color255 color233
+color index color117 color233 ~N
+color index color124 color233 ~D
+
+# URLs, email and web
+color body color68 color233 "(finger|ftp|http|https|news|telnet)://[^ >]*"
+color body color111 color233 "<URL:[^ ]*>"
+color body color111 color233 "www\\.[-.a-z0-9]+\\.[a-z][a-z][a-z]?([-_./~a-z0-9]+)?"
+color body color111 default "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
+color body brightred color233 "^-.*"
+color body green color233 "^[+].*"
+color body brightwhite color233 "^diff .*"
+color body brightyellow color233 "^@@.*"
+
+# Misc body
+color attachment color111 default
+color signature color244 default
+
+# GPG
+color body color188 default "^gpg: Good signature.*"
+color body color115 color236 "^gpg: BAD signature.*"
+color body color174 color237 "^gpg: Can't check signature.*"
+color body color174 color237 "^-----BEGIN PGP SIGNED MESSAGE-----"
+color body color174 color237 "^-----BEGIN PGP SIGNATURE-----"
+color body color174 color237 "^-----END PGP SIGNED MESSAGE-----"
+color body color174 color237 "^-----END PGP SIGNATURE-----"
+color body color174 color237 "^Version: GnuPG.*"
+color body color174 color237 "^Comment: .*"
+
+# Highlight TOFU protection:
+color body brightmagenta default "^\\[---.*"
+color body green default "^#v[-+]"
+
+# Include theme
+source "$HOME/.mutt/muttrc.theme.dracula"
diff --git a/.mutt/muttrc.hooks b/.mutt/muttrc.hooks
new file mode 100644
index 0000000..e0add57
--- /dev/null
+++ b/.mutt/muttrc.hooks
@@ -0,0 +1,5 @@
+## Folder hooks
+folder-hook . 'set record="^"'
+folder-hook . push "<delete-pattern>~=<enter>$"
+
+source "$HOME/.mutt/muttrc.hooks.env|"
diff --git a/.mutt/muttrc.hooks.env b/.mutt/muttrc.hooks.env
new file mode 100755
index 0000000..cb412b8
--- /dev/null
+++ b/.mutt/muttrc.hooks.env
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# Add more hooks here
+cat << ENDOFMUTTRC
+ENDOFMUTTRC
diff --git a/.mutt/muttrc.macros b/.mutt/muttrc.macros
new file mode 100644
index 0000000..2dc8eba
--- /dev/null
+++ b/.mutt/muttrc.macros
@@ -0,0 +1,52 @@
+# Common macros
+macro index \eR "|~/bin/mutt-remember-mail\n"
+macro pager \cu <pipe-entry>'urlview'<enter> 'Follow links with urlview'
+
+macro index,pager \cb "<pipe-message> urlscan<Enter>" "call urlscan to extract URLs out of a message"
+macro attach,compose \cb "<pipe-entry> urlscan<Enter>" "call urlscan to extract URLs out of a message"
+
+# Sidebar
+macro index,pager B '<enter-command>toggle sidebar_visible<enter>'
+
+macro index <right> "<enter-command>toggle sidebar_visible<enter><display-message>"
+macro pager <left> "<enter-command>toggle sidebar_visible<enter><exit>"
+
+macro index,pager D "<delete-message><sync-mailbox><enter>" "Delete message"
+
+macro index <F6> \
+"<enter-command>unset wait_key<enter><pipe-message>notmuch new<enter>" \
+"notmuch: Index new messages"
+
+
+macro index <F7> \
+ "<enter-command>unset wait_key<enter><shell-escape>~/bin/mutt-fetchbug --prompt search<enter><change-folder-readonly>~/.cache/mutt_btsresults<enter><enter-command>set wait_key<enter>" \
+ "fetch bug(s) (using bts show)"
+
+macro index <F8> \
+"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
+<shell-escape>notmuch-mutt -r --prompt search<enter>\
+<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
+<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
+ "notmuch: search mail"
+
+macro index <F9> \
+"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
+<pipe-message>notmuch-mutt -r thread<enter>\
+<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
+<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
+ "notmuch: reconstruct thread"
+
+macro index <esc>m "T~N<enter>;WN^T~T<enter>T~O<enter>;WN^T~T<enter>" "mark all messages read"
+
+
+# toggle TOFU protection with ESC-0 (off) and ESC-1 (on)
+macro generic \e0 ":unset display_filter\n" "Turn TOFU protection off"
+macro generic \e1 ":set display_filter='t-prot -cmekatlS --max-lines=250 --bigq --pgp-short --pgp-move --pgp-move-vrf -Mmutt -L/etc/t-prot/footers -A/etc/t-prot/ads'\n" "Turn TOFU protection on"
+
+# same in pager mode - ugly but what the hell...
+macro pager \e0 ":unset display_filter; exec exit\n:exec display-message\n" "Turn TOFU protection off"
+macro pager \e1 ":set display_filter='t-prot -cmekatlS --max-lines=250 --bigq --pgp-short --pgp-move --pgp-move-vrf -Mmutt -L/etc/t-prot/footers -A/etc/t-prot/ads'; exec exit\n:exec display-message\n" "Turn TOFU protection on"
+
+macro attach 'V' "<pipe-entry>cat > ~/tmp/mail.html && xdg-open ~/tmp/mail.html && rm -f ~/tmp/mail.html<enter>"
+
+source "$HOME/.mutt/muttrc.macros.env|" \ No newline at end of file
diff --git a/.mutt/muttrc.macros.env b/.mutt/muttrc.macros.env
new file mode 100755
index 0000000..790c65d
--- /dev/null
+++ b/.mutt/muttrc.macros.env
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# Add more macros here
+cat << ENDOFMUTTRC
+ENDOFMUTTRC
diff --git a/.mutt/muttrc.mailboxes.env b/.mutt/muttrc.mailboxes.env
new file mode 100755
index 0000000..8542be3
--- /dev/null
+++ b/.mutt/muttrc.mailboxes.env
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# Add your mailboxes here
+cat << ENDOFMUTTRC
+# set spoolfile="=/INBOX"
+# mailboxes "=/INBOX"
+ENDOFMUTTRC
diff --git a/.mutt/muttrc.send.env b/.mutt/muttrc.send.env
new file mode 100755
index 0000000..1e2e488
--- /dev/null
+++ b/.mutt/muttrc.send.env
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Add your sendmail conf here
+cat << ENDOFMUTTRC
+# set realname='Mr. Example'
+# set from="example@example.com"
+
+# set sendmail="/usr/bin/msmtp --read-envelope-from"
+# set pgp_sign_as=""
+ENDOFMUTTRC
diff --git a/.mutt/muttrc.sidebar b/.mutt/muttrc.sidebar
new file mode 100644
index 0000000..a680443
--- /dev/null
+++ b/.mutt/muttrc.sidebar
@@ -0,0 +1,6 @@
+set mail_check_stats=yes
+set sidebar_visible=yes
+set sidebar_format="%B%* %S%?N?(%N)?%?F?[%F]?"
+set sidebar_indent_string=" "
+set sidebar_folder_indent=yes
+set sidebar_short_path=yes
diff --git a/.mutt/muttrc.theme.dracula b/.mutt/muttrc.theme.dracula
new file mode 100644
index 0000000..f94fd1a
--- /dev/null
+++ b/.mutt/muttrc.theme.dracula
@@ -0,0 +1,42 @@
+###############################################################################
+# Dracula Theme for Mutt: https://draculatheme.com/
+#
+# @author Paul Townsend <paul@caprica.org>
+
+# general ------------ foreground ---- background -----------------------------
+color error color231 color212
+color indicator color231 color241
+color markers color210 default
+color message default default
+color normal default default
+color prompt default default
+color search color84 default
+color status color141 color236
+color tilde color231 default
+color tree color141 default
+
+# message index ------ foreground ---- background -----------------------------
+color index color210 default ~D # deleted messages
+color index color84 default ~F # flagged messages
+color index color117 default ~N # new messages
+color index color212 default ~Q # messages which have been replied to
+color index color215 default ~T # tagged messages
+color index color141 default ~v # messages part of a collapsed thread
+
+# message headers ---- foreground ---- background -----------------------------
+color hdrdefault color117 default
+color header color231 default ^Subject:.*
+
+# message body ------- foreground ---- background -----------------------------
+color attachment color228 default
+color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses
+color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs
+color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text
+color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text
+color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text
+color quoted color61 default
+color quoted1 color117 default
+color quoted2 color84 default
+color quoted3 color215 default
+color quoted4 color212 default
+color signature color212 default \ No newline at end of file
diff --git a/.mutt/muttrc.theme.gruvbox-shuber b/.mutt/muttrc.theme.gruvbox-shuber
new file mode 100644
index 0000000..0b958af
--- /dev/null
+++ b/.mutt/muttrc.theme.gruvbox-shuber
@@ -0,0 +1,81 @@
+# gruvbox dark (contrast dark):
+
+# bg0 = 234
+# bg1 = 237
+# bg2 = 239
+# bg3 = 241
+# bg4 = 243
+#
+# gray = 245
+#
+# fg0 = 229
+# fg1 = 223
+# fg2 = 250
+# fg3 = 248
+# fg4 = 246
+#
+# red = 167
+# green = 142
+# yellow = 214
+# blue = 109
+# purple = 175
+# aqua = 108
+# orange = 208
+
+
+# See http://www.mutt.org/doc/manual/#color
+
+color attachment color109 color234
+color bold color229 color234
+color error color167 color234
+color hdrdefault color246 color234
+color indicator color223 color237
+color markers color243 color234
+color normal color223 color234
+color quoted color250 color234
+color quoted1 color108 color234
+color quoted2 color250 color234
+color quoted3 color108 color234
+color quoted4 color250 color234
+color quoted5 color108 color234
+color search color234 color208
+color signature color108 color234
+color status color234 color250
+color tilde color243 color234
+color tree color142 color234
+color underline color223 color239
+
+color sidebar_divider color250 color234
+color sidebar_new color142 color234
+
+color index color142 color234 ~N
+color index color108 color234 ~O
+color index color109 color234 ~P
+color index color214 color234 ~F
+color index color175 color234 ~Q
+color index color167 color234 ~=
+color index color234 color223 ~T
+color index color234 color167 ~D
+
+color header color214 color234 "^(To:|From:)"
+color header color142 color234 "^Subject:"
+color header color108 color234 "^X-Spam-Status:"
+color header color108 color234 "^Received:"
+
+color body color142 color234 "[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+"
+#color body color142 color234 "[a-zA-Z]([-a-zA-Z0-9_]+\\.){2,256}[-a-zA-Z0-9_]{2,256}"
+color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
+color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
+color body color234 color214 "[;:]-*[)>(<lt;|]"
+color body color229 color234 "\\*[- A-Za-z]+\\*"
+
+color body color214 color234 "^-.*PGP.*-*"
+color body color142 color234 "^gpg: Good signature from"
+color body color167 color234 "^gpg: Can't.*$"
+color body color214 color234 "^gpg: WARNING:.*$"
+color body color167 color234 "^gpg: BAD signature from"
+color body color167 color234 "^gpg: Note: This key has expired!"
+color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner."
+color body color214 color234 "^gpg: can't handle these multiple signatures"
+color body color214 color234 "^gpg: signature verification suppressed"
+color body color214 color234 "^gpg: invalid node with packet of type"
nihil fit ex nihilo