aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2019-09-05 09:02:39 +0200
committerneodarz <neodarz@neodarz.net>2019-09-05 09:02:39 +0200
commit72d698979fdaa6dbd1b1d3d41b69d94ddd83f4de (patch)
tree5a8df180f6139762e6b5c0ea2372a76c5df5e4c1
parent82335ab01503ade18c5e830739b218fbdf1445d5 (diff)
downloaddotfiles-72d698979fdaa6dbd1b1d3d41b69d94ddd83f4de.tar.xz
dotfiles-72d698979fdaa6dbd1b1d3d41b69d94ddd83f4de.zip
Add mutt config
-rw-r--r--README.md1
-rw-r--r--config.yaml8
-rw-r--r--dotfiles/mutt/account.fr.happy-dev.neodarz11
-rw-r--r--dotfiles/mutt/account.net.neodarz.corentin.breton22
-rw-r--r--dotfiles/mutt/account.net.neodarz.neodarz22
-rw-r--r--dotfiles/mutt/gpg.rc86
-rw-r--r--dotfiles/mutt/mailcap2
-rw-r--r--dotfiles/muttrc125
-rw-r--r--install.sh4
9 files changed, 281 insertions, 0 deletions
diff --git a/README.md b/README.md
index c21d048..3960bd0 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@
i3 > i3 window manager config
i3pystatus > i3 bar window manager replacement config
khal > calendar config
+ mutt > mutt config
msmtp > smtp client config
scripts > misc scripts
systemd > user services for differents application
diff --git a/config.yaml b/config.yaml
index f1e5e55..7f4b8d5 100644
--- a/config.yaml
+++ b/config.yaml
@@ -36,6 +36,12 @@ dotfiles:
f_msmtprc:
src: msmtprc
dst: ~/.msmtprc
+ d_mutt:
+ src: mutt
+ dst: ~/.mutt
+ f_muttrc:
+ src: muttrc
+ dst: ~/.muttrc
profiles:
unicorn:
dotfiles:
@@ -50,6 +56,8 @@ profiles:
- d_gnupg
- d_khal
- f_msmtprc
+ - d_mutt
+ - f_muttrc
fenec:
dotfiles:
- d_i3pystatus
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 <f2> '<sync-mailbox><refresh><enter-command>source ~/.mutt/account.net.neodarz.neodarz<enter><change-folder>!<enter>'
+macro index <f3> '<sync-mailbox><refresh><enter-command>source ~/.mutt/account.net.neodarz.corentin.breton<enter><change-folder>!<enter>'
+macro index <f4> '<sync-mailbox><refresh><enter-command>source ~/.mutt/account.fr.happy-dev.neodarz<enter><change-folder>!<enter>'
+
+# Fetch mail shortcut
+#bind index G imap-fetch-mail
+macro index,pager U '<shell-escape>offlineimap &<enter>'
+
+macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'
+macro attach W <save-entry><kill-line>/home/neodarz/attachments/
+macro attach E <save-entry><kill-line>/home/neodarz/attachments/<enter>
+
+# 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 <return> in attach view
+bind attach <return> 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 "<pipe-message>htmail-decode<return>" "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 <Tab> complete-query
+bind editor ^T complete
+
+macro index,pager A \
+ "<pipe-message>khard add-email<return>" \
+ "add the sender email address to khard"
+
diff --git a/install.sh b/install.sh
index 641a48b..0b67081 100644
--- a/install.sh
+++ b/install.sh
@@ -116,4 +116,8 @@
#sudo pacman -S msmtp
+## mutt
+
+#sudo pacman -S neomutt
+
# install dotfiles