diff --git a/dot_config/mutt/encrypted_mappings.muttrc.asc b/dot_config/mutt/encrypted_mappings.muttrc.asc new file mode 100644 index 0000000..0f552be --- /dev/null +++ b/dot_config/mutt/encrypted_mappings.muttrc.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP MESSAGE----- + +hF4Dt852JJsu9zQSAQdA1cJUuoQMg9p4X5nJ3NQQ42e4Wv7jmu101qL8dVT9riIw +xUw8bMICWy7fBG9mwQvPZE4EuhXBrgnJGZz2AijVHkNAVu/zf7rsarFzWo+EHwLI +0ukBAhVLZn9+y1UKXH2fnxWRxf9KD2xM/Dde1MN0Wure1emFhOtI4Se7vDBpAvyx +8NwDV0NutyWR5DPFzWaG/6oO4rfeGefv1XEiqwI085cLp5nrmpKVELAJgksSp13W +gtsN/Q9IdX1BFf/kvFqqJ/W2YEVnNExj2rYzHLiWpM//96Nq27ZJ4sP10EkWER6v +nyeC/4jSwnt2MoOmLnIbrgwde1DyEmEi8Q1w5vjanaPH7sXsQ2o8vlTVAWRrEmQv +EV/f0i8b12ReuvEFJEYmBQtUnb/3AfwITNgcZXO3bauqV5BVtdYGoXug6kB7xan1 +fJzmjsaIRs3ZBtQO55jZUeogGwpM3u4RdEFFZ+vO8g5Ev8QrjW/n5D5DlE5QKuxJ +lXJelKoAFsT7GfxDqqjdwHXjgWaL89dBnec4237gohsTMyPpkrZSH8ijTAn7FT1W +Yh8YaySPNtR9K8nJ5Ov/ChIkEJFOzmUuluwHoc4ZSPX1s389JyiD/RxHto/wDbLA +tee6olSiYmBObt2E5aY6VaEXtdd0rz9Oqt6Lt2V8NvgBqeFlTOwyfpbXz22WmM6d +5ttF4y4gAN/FDWVAjp/zzvCNQeNmiYBKjF6G30DQmeyAXrzCSJn2jJNJLSMXSAAN +7uMGkqb5mb4GKzfxXPwH7fT5lo5cScsGajkRFZl/tcM0J8BL3MEVpGox22qK5TxM +HaSaIU84jszz5wjYR6Fl//sQ7hEUQo39+KbEzEEjxjTI5OztmtnkfjUvnBsRM+ip +3yMJQDFFnxZrklCEZAaiZm+NAU6o2Qqf5O5BzFvfn1ek0+Qk0yTK1rue4lNUxBxT +fcQ+Aaz0eRtAw3+4b9lT7lA4EJZf5g7LunJ1b1IC/yinwKNCXt81ClzU7icFekbS +gKpbc00XgyGFtG+/tqon4Wcauw+NOaGJg4bkuQyfWqRE6DjgMFz17wdArmtlWq3I +QiEHC7HqpE/U/3619z8fl6dAumtxSkayAOmGboSfvwGTci01eTI0oBho9Ei7fVWd +/0bD4hyfNli5kW+6yueg +=fheL +-----END PGP MESSAGE----- diff --git a/dot_config/mutt/mailcap b/dot_config/mutt/mailcap new file mode 100644 index 0000000..b66c2e8 --- /dev/null +++ b/dot_config/mutt/mailcap @@ -0,0 +1,10 @@ +application/pdf; openfile %s ; +application/pgp-encrypted; gpg -d '%s'; copiousoutput; +application/pgp-keys; gpg --import '%s'; copiousoutput; +audio/*; mpv %s ; +image/*; openfile %s ; +text/html; openfile %s ; nametemplate=%s.html +# text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump -width=1024 %s; nametemplate=%s.html; copiousoutput; +text/html; w3m -I %{charset} -T text/html ; copiousoutput; +text/plain; $EDITOR %s ; +video/*; openfile %s ; diff --git a/dot_config/mutt/muttrc.tmpl b/dot_config/mutt/muttrc similarity index 89% rename from dot_config/mutt/muttrc.tmpl rename to dot_config/mutt/muttrc index e1ecbee..3b7c620 100644 --- a/dot_config/mutt/muttrc.tmpl +++ b/dot_config/mutt/muttrc @@ -1,9 +1,6 @@ # vim: filetype=neomuttrc -{{ if eq .chezmoi.os "darwin" -}} -source /usr/local/share/mutt-wizard/mutt-wizard.muttrc -{{ else }} -source /usr/share/mutt-wizard/mutt-wizard.muttrc -{{- end }} +source ~/.config/mutt/mw.muttrc + # use thread sorting set sort="threads" set sort_aux="reverse-last-date-received" diff --git a/dot_config/mutt/mw.muttrc b/dot_config/mutt/mw.muttrc new file mode 100644 index 0000000..c20ee2d --- /dev/null +++ b/dot_config/mutt/mw.muttrc @@ -0,0 +1,188 @@ +# vim: filetype=neomuttrc +# This file contains all of mutt-wizard's default settings. +# mutt-wizard will have this file sourced from your muttrc. +# In the interest of seamless updating, do not edit this file. +# If you want to override any settings, set those in your muttrc. +set mailcap_path = $HOME/.config/mutt/mailcap:$mailcap_path +set mime_type_query_command = "file --mime-type -b %s" +set date_format="%y/%m/%d %I:%M%p" +set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" +set sort = 'reverse-date' +set smtp_authenticators = 'gssapi:login' +set query_command = "abook --mutt-query '%s'" +set rfc2047_parameters = yes +set sleep_time = 0 # Pause 0 seconds for informational messages +set markers = no # Disables the `+` displayed at line wraps +set mark_old = no # Unread mail stay unread until read +set mime_forward = yes # attachments are forwarded with mail +set wait_key = no # mutt won't ask "press key to continue" +set fast_reply # skip to compose when replying +set fcc_attach # save attachments with the body +set forward_format = "Fwd: %s" # format of subject when forwarding +set forward_quote # include message in forwards +set reverse_name # reply as whomever it was to +set include # include message in replies +set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) +auto_view text/html # automatically show html (mailcap uses lynx) +auto_view application/pgp-encrypted +#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. +alternative_order text/plain text/enriched text/html + +bind index,pager i noop +bind index,pager g noop +bind index \Cf noop +bind index,pager M noop +bind index,pager C noop + +# General rebindings +bind index gg first-entry +bind index j next-entry +bind index k previous-entry +bind attach view-mailcap +bind attach l view-mailcap +bind editor noop +bind index G last-entry +bind index gg first-entry +bind pager,attach h exit +bind pager j next-line +bind pager k previous-line +bind pager l view-attachments +bind index D delete-message +bind index U undelete-message +bind index L limit +bind index h noop +bind index l display-message +bind index,query tag-entry +#bind browser h goto-parent +macro browser h '..' "Go to parent folder" +bind index,pager H view-raw-message +bind browser l select-entry +bind browser gg top-page +bind browser G bottom-page +bind pager gg top +bind pager G bottom +bind index,pager,browser d half-down +bind index,pager,browser u half-up +bind index,pager S sync-mailbox +bind index,pager R group-reply +bind index \031 previous-undeleted # Mouse wheel +bind index \005 next-undeleted # Mouse wheel +bind pager \031 previous-line # Mouse wheel +bind pager \005 next-line # Mouse wheel +bind editor complete-query + +macro index,pager gi "=INBOX" "go to inbox" +macro index,pager Mi ";=INBOX" "move mail to inbox" +macro index,pager Ci ";=INBOX" "copy mail to inbox" +macro index,pager gd "=Drafts" "go to drafts" +macro index,pager Md ";=Drafts" "move mail to drafts" +macro index,pager Cd ";=Drafts" "copy mail to drafts" +macro index,pager gj "=Junk" "go to junk" +macro index,pager Mj ";=Junk" "move mail to junk" +macro index,pager Cj ";=Junk" "copy mail to junk" +macro index,pager gt "=Trash" "go to trash" +macro index,pager Mt ";=Trash" "move mail to trash" +macro index,pager Ct ";=Trash" "copy mail to trash" +macro index,pager gs "=Sent" "go to sent" +macro index,pager Ms ";=Sent" "move mail to sent" +macro index,pager Cs ";=Sent" "copy mail to sent" +macro index,pager ga "=Archive" "go to archive" +macro index,pager Ma ";=Archive" "move mail to archive" +macro index,pager Ca ";=Archive" "copy mail to archive" + +#set crypt_autosign = yes +#set crypt_opportunistic_encrypt = yes +#set pgp_self_encrypt = yes +#set pgp_default_key = 'your@gpgemailaddre.ss' + +macro index,pager a "set my_pipe_decode=\$pipe_decode pipe_decodeabook --add-emailset pipe_decode=\$my_pipe_decode; unset my_pipe_decode" "add the sender address to abook" +macro index \Cr "T~UN." "mark all messages as read" +macro index O "mw -Y" "run mw -Y to sync all mail" +macro index \Cf "unset wait_keyprintf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"" "show only messages matching a notmuch pattern" +macro index A "all\n" "show all messages (undo limit)" + +# Sidebar mappings +set sidebar_visible = yes +set sidebar_width = 20 +set sidebar_short_path = yes +set sidebar_next_new_wrap = yes +set mail_check_stats +set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?' +bind index,pager \Ck sidebar-prev +bind index,pager \Cj sidebar-next +bind index,pager \Co sidebar-open +bind index,pager \Cp sidebar-prev-new +bind index,pager \Cn sidebar-next-new +bind index,pager B sidebar-toggle-visible + +# Default index colors: +color index yellow default '.*' +color index_author red default '.*' +color index_number blue default +color index_subject cyan default '.*' + +# New mail is boldened: +color index brightyellow black "~N" +color index_author brightred black "~N" +color index_subject brightcyan black "~N" + +# Tagged mail is highlighted: +color index brightyellow blue "~T" +color index_author brightred blue "~T" +color index_subject brightcyan blue "~T" + +# Other colors and aesthetic settings: +mono bold bold +mono underline underline +mono indicator reverse +mono error bold +color normal default default +color indicator brightblack white +color sidebar_highlight red default +color sidebar_divider brightblack black +color sidebar_flagged red black +color sidebar_new green black +color normal brightyellow default +color error red default +color tilde black default +color message cyan default +color markers red white +color attachment white default +color search brightmagenta default +color status brightyellow black +color hdrdefault brightgreen default +color quoted green default +color quoted1 blue default +color quoted2 cyan default +color quoted3 yellow default +color quoted4 red default +color quoted5 brightred default +color signature brightgreen default +color bold black default +color underline black default +color normal default default + +# Regex highlighting: +color header brightmagenta default "^From" +color header brightcyan default "^Subject" +color header brightwhite default "^(CC|BCC)" +color header blue default ".*" +color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses +color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL +color body green default "\`[^\`]*\`" # Green text between ` and ` +color body brightblue default "^# \.*" # Headings as bold blue +color body brightcyan default "^## \.*" # Subheadings as bold cyan +color body brightgreen default "^### \.*" # Subsubheadings as bold green +color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow +color body brightcyan default "[;:][-o][)/(|]" # emoticons +color body brightcyan default "[;:][)(|]" # emoticons +color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? +color body red default "(BAD signature)" +color body cyan default "(Good signature)" +color body brightblack default "^gpg: Good signature .*" +color body brightyellow default "^gpg: " +color body brightyellow red "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" +color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" diff --git a/dot_config/mutt/switch.muttrc b/dot_config/mutt/switch.muttrc new file mode 100644 index 0000000..c808c99 --- /dev/null +++ b/dot_config/mutt/switch.muttrc @@ -0,0 +1,10 @@ +# vim: filetype=neomuttrc + +# This is an embarrassing and hacky file that unbinds a bunch of binds between +# switching accounts. It is called each time an account is changed. + +unset hostname +unmy_hdr Organization +unmailboxes * +unalternates * +unset signature