dotfiles

Obligatory dotfiles repo
git clone git://git.danielmoch.com/dotfiles.git
Log | Files | Refs

commit 92bc91417b00e6aca8224677e0928176eab2f31c
parent fa5865b3e6b1ed433820451e850a871eaf27d8f7
Author: Daniel Moch <daniel@danielmoch.com>
Date:   Thu,  8 Feb 2018 19:10:02 -0500

Refactor mutt config

Diffstat:
D.config/mutt/colors | 151------------------------------------------------------------------------------
D.config/mutt/gpg | 88-------------------------------------------------------------------------------
D.config/mutt/smime | 102-------------------------------------------------------------------------------
M.muttrc | 131++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
4 files changed, 126 insertions(+), 346 deletions(-)

diff --git a/.config/mutt/colors b/.config/mutt/colors @@ -1,151 +0,0 @@ -# vim: filetype=muttrc - -# -# -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -#color body color136 color235 "(ethan|schoonover)" -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -#color index color136 color235 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" -## messages which are in reference to my mails -#color index J_magent color235 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index J_magent color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -color normal color250 color235 -color error color208 color235 -color tilde color250 color235 -color message color250 color235 -color markers color250 color235 -color attachment color103 color235 -color search color250 color235 -#color status J_black J_status -color status color235 color101 -color indicator color235 color110 -color tree color108 color235 # arrow in threads - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index color160 color235 "~D(!~p|~p)" # deleted -#color index color235 color235 ~F # flagged -#color index color166 color235 ~= # duplicate messages -#color index color240 color235 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base color235 "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index color250 color235 "~A" # all messages -color index color131 color235 "~E" # expired messages -color index color231 color235 "~N" # new messages -color index color250 color235 "~O" # old messages -color index color103 color235 "~Q" # messages that have been replied to -color index color242 color235 "~R" # read messages -color index color231 color235 "~U" # unread messages -color index color231 color235 "~U~$" # unread, unreferenced messages -color index color242 color235 "~v" # messages part of a collapsed thread -color index color242 color235 "~P" # messages from me -color index color110 color235 "~p!~F" # messages to me -color index color110 color235 "~N~p!~F" # new messages to me -color index color110 color235 "~U~p!~F" # unread messages to me -color index color242 color235 "~R~p!~F" # messages to me -color index color108 color235 "~F" # flagged messages -color index color108 color235 "~F~p" # flagged messages to me -color index color108 color235 "~N~F" # new flagged messages -color index color108 color235 "~N~F~p" # new flagged messages to me -color index color108 color235 "~U~F~p" # new flagged messages to me -color index color235 color131 "~D" # deleted messages -color index color242 color235 "~v~(!~N)" # collapsed thread with no unread -color index color250 color235 "~v~(~N)" # collapsed thread with some unread -color index color242 color235 "~N~v~(~N)" # collapsed thread with unread parent -# statusbg used to indicated flagged when foreground color shows other status -# for collapsed thread -color index color108 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index color250 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged -color index color108 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index color108 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index color242 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index color235 color131 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index color136 color235 "~(~N)" # messages in threads with some unread -#color index color64 color235 "~S" # superseded messages -#color index color160 color235 "~T" # tagged messages -#color index color166 color160 "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header color240 color235 "^" -color hdrdefault color250 color235 -color header color231 color235 "^(From)" -color header color231 color235 "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted color14 color235 -color quoted1 color103 color235 -color quoted2 color108 color235 -color quoted3 color131 color235 -color quoted4 color229 color235 - -color signature color250 color235 -color bold color231 color235 -color underline color231 color235 -color normal color250 color235 -# -color body color250 color235 "[;:][-o][)/(|]" # emoticons -color body color231 color235 "[;:][)(|]" # emoticons -color body color231 color235 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body color231 color235 "[ ][*][^*]*[*][ ]?" # more emoticon? -color body color231 color235 "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body color231 color131 "(BAD signature)" -color body color103 color235 "(Good signature)" -color body color103 color235 "^gpg: Good signature .*" -color body color242 color235 "^gpg: " -color body color231 color131 "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body color110 color235 "([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<>\"]" -# and a heavy handed email regex -color body color110 color235 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# Various smilies and the like -#color body color230 color235 "<[Gg]>" # <g> -#color body color230 color235 "<[Bb][Gg]>" # <bg> -#color body color136 color235 " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -#color body color33 color235 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -#color body color33 color235 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -#color body color33 color235 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body color33 color235 "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black color136 " -#folder-hook gmail/important "color status J_black color136 " - diff --git a/.config/mutt/gpg b/.config/mutt/gpg @@ -1,88 +0,0 @@ -# vim: ft=muttrc -# -# Command formats for gpg. -# -# This version uses gpg-2comp from -# http://70t.de/download/gpg-2comp.tar.gz -# -# $Id$ -# -# %p The empty string when no passphrase is needed, -# the string "PGPPASSFD=0" if one is needed. -# -# This is mostly used in conditional % sequences. -# -# %f Most PGP commands operate on a single file or a file -# containing a message. %f expands to this file's name. -# -# %s When verifying signatures, there is another temporary file -# containing the detached signature. %s expands to this -# file's name. -# -# %a In "signing" contexts, this expands to the value of the -# configuration variable $pgp_sign_as. You probably need to -# use this within a conditional % sequence. -# -# %r In many contexts, mutt passes key IDs to pgp. %r expands to -# a list of key IDs. - -# Note that we explicitly set the comment armor header since GnuPG, when used -# in some localiaztion environments, generates 8bit data in that header, thereby -# breaking PGP/MIME. - -# decode application/pgp -set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" - -# verify a pgp/mime signature -set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" - -# decrypt a pgp/mime attachment -set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" - -# create a pgp/mime signed attachment -# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" -set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" - -# create a application/pgp signed (old-style) message -# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" -set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" - -# create a pgp/mime encrypted attachment -# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" - -# create a pgp/mime encrypted and signed attachment -# set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" - -# import a key into the public key ring -set pgp_import_command="gpg --no-verbose --import %f" - -# export a key from the public key ring -set pgp_export_command="gpg --no-verbose --export --armor %r" - -# verify a key -set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" - -# read in the public key ring -set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r" - -# read in the secret key ring -set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r" - -# fetch keys -# set pgp_getkeys_command="pkspxycwrap %r" - -# pattern for good signature - may need to be adapted to locale! - -# set pgp_good_sign="^gpgv?: Good signature from " - -# OK, here's a version which uses gnupg's message catalog: -# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`" - -# This version uses --status-fd messages -set pgp_good_sign="^\\[GNUPG:\\] GOODSIG" - -# pattern to verify a decryption occurred -set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" - diff --git a/.config/mutt/smime b/.config/mutt/smime @@ -1,102 +0,0 @@ -# vim: ft=muttrc -## The following options are only available if you have -## compiled in S/MIME support - -# If you compiled mutt with support for both PGP and S/MIME, PGP -# will be the default method unless the following option is set -# set smime_is_default - -# Uncomment this if you don't want to set labels for certificates you add. -# unset smime_ask_cert_label - -# Passphrase expiration -set smime_timeout=300 - -# Global crypto options -- these affect PGP operations as well. -set crypt_autosign = yes -set crypt_replyencrypt = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set crypt_verify_sig = yes - -# Section A: Key Management. - -# The (default) keyfile for signing/decrypting. Uncomment the following -# line and replace the keyid with your own. -set smime_default_key="12345678.0" - -# Uncomment to make mutt ask what key to use when trying to decrypt a message. -# It will use the default key above (if that was set) else. -# unset smime_decrypt_use_default_key - -# Path to a file or directory with trusted certificates -set smime_ca_location="/usr/local/etc/openssl/cert.pem" - -# Path to where all known certificates go. (must exist!) -set smime_certificates="~/.mutt/smime/certificates" - -# Path to where all private keys go. (must exist!) -set smime_keys="~/.mutt/smime/keys" - -# These are used to extract a certificate from a message. -# First generate a PKCS#7 structure from the message. -set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" - -# Extract the included certificate(s) from a PKCS#7 structure. -set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" - -# Extract the signer's certificate only from a S/MIME signature (sender verification) -set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" - -# This is used to get the email address the certificate was issued to. -set smime_get_cert_email_command="openssl x509 -in %f -noout -email" - -# Add a certificate to the database using smime_keys. -set smime_import_cert_command="smime_keys add_cert %f" - - - -# Sction B: Outgoing messages - -# Algorithm to use for encryption. -# valid choices are aes128, aes192, aes256, rc2-40, rc2-64, rc2-128, des, des3 -set smime_encrypt_with="aes256" - -# Encrypt a message. Input file is a MIME entity. -set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" - -# Algorithm for the signature message digest. -# Valid choices are md5, sha1, sha224, sha256, sha384, sha512. -set smime_sign_digest_alg="sha256" - -# Sign. -set smime_sign_command="openssl smime -sign -md %d -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" - - - -#Section C: Incoming messages - -# Decrypt a message. Output is a MIME entity. -set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" - -# Verify a signature of type multipart/signed -set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" - -# Verify a signature of type application/x-pkcs7-mime -set smime_verify_opaque_command="\ -openssl smime -verify -inform DER -in %s %C || \ -openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" - - - -# Section D: Alternatives - -# Sign. If you wish to NOT include the certificate your CA used in signing -# your public key, use this command instead. -# set smime_sign_command="openssl smime -sign -md %d -signer %c -inkey %k -passin stdin -in %f -outform DER" -# -# In order to verify the signature only and skip checking the certificate chain: -# -# set smime_verify_command="openssl smime -verify -inform DER -in %s -content %f -noverify" -# set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s -noverify" -# diff --git a/.muttrc b/.muttrc @@ -1,3 +1,4 @@ +# {{{ General settings ignore * unignore from: subject to cc date x-mailer x-url user-agent @@ -15,6 +16,9 @@ macro generic,pager <F1> "<shell-escape> less /usr/share/doc/mutt/manual.txt<Ent macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list" +macro index <F9> "<sync-mailbox><enter-command>source ~/.config/mutt/account.gmail<enter><change-folder>!<enter>" +macro index <F10> "<sync-mailbox><enter-command>source ~/.config/mutt/account.icloud<enter><change-folder>!<enter>" + set sort="reverse-threads" set strict_threads="yes" set sort_browser="reverse-date" @@ -46,9 +50,126 @@ alternative_order text/plain text/enriched text/html set imap_authenticators="login" set smtp_authenticators="login" +# }}} + +# {{{ GPG +set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" +set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" +set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" +set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" +set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" +set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" +set pgp_import_command="gpg --no-verbose --import %f" +set pgp_export_command="gpg --no-verbose --export --armor %r" +set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" +set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r" +set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r" +set pgp_good_sign="^\\[GNUPG:\\] GOODSIG" +set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" +# }}} + +# {{{ S/MIME +set smime_timeout=300 +set crypt_autosign = yes +set crypt_replyencrypt = yes +set crypt_replysign = yes +set crypt_replysignencrypted = yes +set crypt_verify_sig = yes +set smime_default_key="12345678.0" +set smime_ca_location="/usr/local/etc/openssl/cert.pem" +set smime_certificates="~/.mutt/smime/certificates" +set smime_keys="~/.mutt/smime/keys" +set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" +set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" +set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" +set smime_get_cert_email_command="openssl x509 -in %f -noout -email" +set smime_import_cert_command="smime_keys add_cert %f" +set smime_encrypt_with="aes256" +set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" +set smime_sign_digest_alg="sha256" +set smime_sign_command="openssl smime -sign -md %d -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" +set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" +set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" +set smime_verify_opaque_command="\ +openssl smime -verify -inform DER -in %s %C || \ +openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" +# }}} + +# {{{ Colors +color normal color250 color235 +color error color208 color235 +color tilde color250 color235 +color message color250 color235 +color markers color250 color235 +color attachment color103 color235 +color search color250 color235 +color status color235 color101 +color indicator color235 color110 +color tree color108 color235 + +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +color index color250 color235 "~A" # all messages +color index color131 color235 "~E" # expired messages +color index color231 color235 "~N" # new messages +color index color250 color235 "~O" # old messages +color index color103 color235 "~Q" # messages that have been replied to +color index color242 color235 "~R" # read messages +color index color231 color235 "~U" # unread messages +color index color231 color235 "~U~$" # unread, unreferenced messages +color index color242 color235 "~v" # messages part of a collapsed thread +color index color242 color235 "~P" # messages from me +color index color110 color235 "~p!~F" # messages to me +color index color110 color235 "~N~p!~F" # new messages to me +color index color110 color235 "~U~p!~F" # unread messages to me +color index color242 color235 "~R~p!~F" # messages to me +color index color108 color235 "~F" # flagged messages +color index color108 color235 "~F~p" # flagged messages to me +color index color108 color235 "~N~F" # new flagged messages +color index color108 color235 "~N~F~p" # new flagged messages to me +color index color108 color235 "~U~F~p" # new flagged messages to me +color index color235 color131 "~D" # deleted messages +color index color242 color235 "~v~(!~N)" # collapsed thread with no unread +color index color250 color235 "~v~(~N)" # collapsed thread with some unread +color index color242 color235 "~N~v~(~N)" # collapsed thread with unread parent +color index color108 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color250 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color108 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color108 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color242 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color235 color131 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +color hdrdefault color250 color235 +color header color231 color235 "^(From)" +color header color231 color235 "^(Subject)" +color quoted color14 color235 +color quoted1 color103 color235 +color quoted2 color108 color235 +color quoted3 color131 color235 +color quoted4 color229 color235 +color signature color250 color235 +color bold color231 color235 +color underline color231 color235 +color normal color250 color235 +color body color250 color235 "[;:][-o][)/(|]" # emoticons +color body color231 color235 "[;:][)(|]" # emoticons +color body color231 color235 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color231 color235 "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color231 color235 "[ ]?[*][^*]*[*][ ]" # more emoticon? +color body color231 color131 "(BAD signature)" +color body color103 color235 "(Good signature)" +color body color103 color235 "^gpg: Good signature .*" +color body color242 color235 "^gpg: " +color body color231 color131 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" +color body color110 color235 "([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<>\"]" +color body color110 color235 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" +# }}} -source ~/.config/mutt/smime -source ~/.config/mutt/gpg -source ~/.mutt/account.default -source ~/.mutt/account.macros -source ~/.config/mutt/colors +source ~/.config/mutt/account.icloud