From 72d698979fdaa6dbd1b1d3d41b69d94ddd83f4de Mon Sep 17 00:00:00 2001 From: neodarz Date: Thu, 5 Sep 2019 09:02:39 +0200 Subject: Add mutt config --- dotfiles/mutt/account.fr.happy-dev.neodarz | 11 ++ dotfiles/mutt/account.net.neodarz.corentin.breton | 22 ++++ dotfiles/mutt/account.net.neodarz.neodarz | 22 ++++ dotfiles/mutt/gpg.rc | 86 +++++++++++++++ dotfiles/mutt/mailcap | 2 + dotfiles/muttrc | 125 ++++++++++++++++++++++ 6 files changed, 268 insertions(+) create mode 100644 dotfiles/mutt/account.fr.happy-dev.neodarz create mode 100644 dotfiles/mutt/account.net.neodarz.corentin.breton create mode 100644 dotfiles/mutt/account.net.neodarz.neodarz create mode 100644 dotfiles/mutt/gpg.rc create mode 100644 dotfiles/mutt/mailcap create mode 100644 dotfiles/muttrc (limited to 'dotfiles') diff --git a/dotfiles/mutt/account.fr.happy-dev.neodarz b/dotfiles/mutt/account.fr.happy-dev.neodarz new file mode 100644 index 0000000..ab498f0 --- /dev/null +++ b/dotfiles/mutt/account.fr.happy-dev.neodarz @@ -0,0 +1,11 @@ +unmailboxes * +set smtp_url = "smtp://neodarz@smtp.happy-dev.fr:587" +set smtp_pass="wQtZi9WtpD" +set sendmail="/usr/bin/msmtp" +set from = "neodarz@happy-dev.fr" +set realname = "Corentin Breton" + +set record = "+corentin.breton@neodarz.net/Sent" +copy = no + +set pgp_autosign = no diff --git a/dotfiles/mutt/account.net.neodarz.corentin.breton b/dotfiles/mutt/account.net.neodarz.corentin.breton new file mode 100644 index 0000000..97578a3 --- /dev/null +++ b/dotfiles/mutt/account.net.neodarz.corentin.breton @@ -0,0 +1,22 @@ +unmailboxes * +mailboxes =Inbox =Drafts =Sents +set sendmail="/usr/bin/msmtp" +set from = "corentin.breton@neodarz.net" +set realname = "Corentin Breton" + +set folder = "~/Mail" +set spoolfile = "+corentin.breton@neodarz.net/INBOX" +set record = "+corentin.breton@neodarz.net/Sent" +set postponed = "+corentin.breton@neodarz.net/Drafts" + +set pager_index_lines=10 + +set pgp_use_gpg_agent = yes +set pgp_sign_as = 9D006C6E30CEC9A888A6F804905EAB92577DA42C +set pgp_timeout = 3600 +set crypt_autosign = yes +set crypt_replyencryp = yes +set pgp_autosign = yes + +set pgp_self_encrypt = yes +set pgp_default_key = 9D006C6E30CEC9A888A6F804905EAB92577DA42C diff --git a/dotfiles/mutt/account.net.neodarz.neodarz b/dotfiles/mutt/account.net.neodarz.neodarz new file mode 100644 index 0000000..f6cd4ab --- /dev/null +++ b/dotfiles/mutt/account.net.neodarz.neodarz @@ -0,0 +1,22 @@ +unmailboxes * +mailboxes "+neodarz@neodarz.net/INBOX" "+neodarz@neodarz.net/Sent" "+neodarz@neodarz.net/Drafts" +set sendmail="/usr/bin/msmtp" +set from = "neodarz@neodarz.net" +set realname = "neodarz" + +set folder = "~/Mail" +set spoolfile = "+neodarz@neodarz.net/INBOX" +set record = "+neodarz@neodarz.net/Sent" +set postponed = "+neodarz@neodarz.net/Drafts" + +set pager_index_lines=10 + +set pgp_use_gpg_agent = yes +set pgp_sign_as = 4987E1338C1FA0D7C09650A0B0811718191581D5 +set pgp_timeout = 3600 +set crypt_autosign = yes +set crypt_replyencrypt = yes +set pgp_autosign = yes + +set pgp_self_encrypt = yes +set pgp_default_key = 4987E1338C1FA0D7C09650A0B0811718191581D5 diff --git a/dotfiles/mutt/gpg.rc b/dotfiles/mutt/gpg.rc new file mode 100644 index 0000000..5cb33ff --- /dev/null +++ b/dotfiles/mutt/gpg.rc @@ -0,0 +1,86 @@ +# -*-muttrc-*- +# +# Command formats for gpg. +# +# This version uses gpg-2comp from +# http://70t.de/download/gpg-2comp.tar.gz +# +# %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="/usr/lib/neomutt/pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_only_command="/usr/lib/neomutt/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="/usr/lib/neomutt/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="/usr/lib/neomutt/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/dotfiles/mutt/mailcap b/dotfiles/mutt/mailcap new file mode 100644 index 0000000..cc5c14f --- /dev/null +++ b/dotfiles/mutt/mailcap @@ -0,0 +1,2 @@ +text/html; htmail-view file://%s; test=test -n "$DISPLAY"; nametemplate=%s.html; needsterminal; +text/html; w3m -I %{charset} -T text/html; copiousoutput; diff --git a/dotfiles/muttrc b/dotfiles/muttrc new file mode 100644 index 0000000..1505f7d --- /dev/null +++ b/dotfiles/muttrc @@ -0,0 +1,125 @@ +# Store message headers locally to speed things up. +# If hcache is a folder, Mutt will create sub cache folders for each account which may speeds things up even more. +set header_cache = ~/.cache/mutt + +# Store messages locally to speed things up, like searching message bodies. +# Can be the same folder as header_cache. +# This will cost important disk usage according to your e-mail amount. +set message_cachedir = "~/.cache/mutt" + +set sidebar_visible = yes +set editor="nvim + -c 'set ft=mail tw=80' -c ':0/^$'" +set sort=threads + +# Folder hooks +folder-hook 'account.net.neodarz.neodarz' 'source ~/.mutt/account.net.neodarz.neodarz' +folder-hook 'account.net.neodarz.corentin.breton' 'source ~/.mutt/account.net.neodarz.corentin.breton' +folder-hook 'account.fr.happy-dev.neodarz' 'source ~/.mutt/account.fr.happy-dev.neodarz' + +# GPG commands +source ~/.mutt/gpg.rc + +# Macros for switching accounts +macro index 'source ~/.mutt/account.net.neodarz.neodarz!' +macro index 'source ~/.mutt/account.net.neodarz.corentin.breton!' +macro index 'source ~/.mutt/account.fr.happy-dev.neodarz!' + +# Fetch mail shortcut +#bind index G imap-fetch-mail +macro index,pager U 'offlineimap &' + +macro index 'c' '?^K=' +macro attach W /home/neodarz/attachments/ +macro attach E /home/neodarz/attachments/ + +# Default colour definitions +color hdrdefault default default +color quoted default default +color signature default default +color indicator black white +color attachment default default +color error default default +color message default default +color search brightwhite green +color status default default +color tree default default +color normal default default +color tilde default default +color bold default default +color markers red white + +# Colour definitions when on a mono screen +mono bold bold +mono underline underline +mono indicator reverse + +# Colours for items in the reader +color header brightwhite default "^(From|Subject|Date|To|User-Agent):" +color header red default "^X-Junked-Because: " +color header red default "^X-Virus-hagbard: .* FOUND" +mono header bold "^(Date|To|User-Agent|From|Subject|X-Junked-Because|X-Virus-hagbard):" + +# Colours for items in the index +color index green default ~N +color index blue default ~O +color index green white "~N (~x hagbard\.davep\.org | ~h \"^In-[Rr]eply-[Tt]o: .*hagbard\.davep\.org\")" +color index red white ~F +color index black green ~T +color index brightwhite black ~D +mono index bold ~N +mono index bold ~F +mono index bold ~T +mono index bold ~D + +# Highlights inside the body of a message. + +# URLs +color body black white "(http|https|ftp|news|telnet|finger)://[^ \">\t\r\n]*" +color body black white "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+" +color body black white "news:[^ \">\t\r\n]*" +mono body bold "(http|https|ftp|news|telnet|finger)://[^ \">\t\r\n]*" +mono body bold "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+" +mono body bold "news:[^ \">\t\r\n]*" + +# email addresses +color body black white "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+" +mono body bold "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+" + +# prefer plain text +alternative_order text/plain text/enriched text/html + +# auto convert text/html MIME type to text/plain +auto_view text/html + +# run viewer defined in mailcap by in attach view +bind attach view-mailcap + +# mailcap file to use (optional) +set mailcap_path="~/.mutt/mailcap" + + +# handover mail to htmail-view (works only for multipart mails containing text/html payload) +macro index,pager H "htmail-decode" "render html mail using htmail-view" + +# This variable specifies notmuch query type, supported types: 'threads' and +# 'messages'. +set nm_query_type = threads + +# When set, mutt will use the first virtual mailbox (see virtual-mailboxes) +# as a spoolfile. +set virtual_spoolfile = yes + +# virtual-mailboxes description notmuch-URI { description notmuch-URI ...} +virtual-mailboxes "Inbox" "notmuch://?query=tag:inbox" + +# Default account +source ~/.mutt/account.net.neodarz.neodarz + +set query_command= "khard email --parsable --search-in-source-files '%s'" +bind editor complete-query +bind editor ^T complete + +macro index,pager A \ + "khard add-email" \ + "add the sender email address to khard" + -- cgit v1.2.1