From 17ff3506df29e26308a83c134e2f7baf0b6813fa Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Sat, 4 Jan 2014 22:43:00 -0500 Subject: [PATCH] Added personal mutt configuration Well, the majority of it. My list of contacts, for example, has not been comitted. --- mutt/account-gnu | 23 ++++++++++++ mutt/account-personal | 29 +++++++++++++++ mutt/get-passwd | 27 ++++++++++++++ mutt/theme | 42 ++++++++++++++++++++++ muttrc | 84 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 205 insertions(+) create mode 100644 mutt/account-gnu create mode 100644 mutt/account-personal create mode 100755 mutt/get-passwd create mode 100644 mutt/theme create mode 100644 muttrc diff --git a/mutt/account-gnu b/mutt/account-gnu new file mode 100644 index 0000000..2f49898 --- /dev/null +++ b/mutt/account-gnu @@ -0,0 +1,23 @@ +# Mike Gerwitz personal mutt configuration +# +# Copyright (C) 2014 Mike Gerwitz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice and +# this notice are preserved. This file is offered as-is, without warranty +# of any kind. +# +# I fetch all mail from my GNU account onto my mailserver, but replies +# should always go through fencepost. + +source ~/.mutt/account-personal + +set from="mikegerwitz@gnu.org" +set smtp_url="smtp://mikegerwitz@fencepost.gnu.org"' +set smtp_pass="`~/.mutt/get-passwd gnu`" + +# toggle +macro index \cp ":source ~/.mutt/account-personal" + +# make it clear we're using GNU settings +color indicator default green diff --git a/mutt/account-personal b/mutt/account-personal new file mode 100644 index 0000000..55d0a21 --- /dev/null +++ b/mutt/account-personal @@ -0,0 +1,29 @@ +# Mike Gerwitz personal mutt configuration +# +# Copyright (C) 2014 Mike Gerwitz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice and +# this notice are preserved. This file is offered as-is, without warranty +# of any kind. +# +# These are the settings for my general-purpose *@mikegerwitz.com e-mail. + +set from="mike@mikegerwitz.com" + +set imap_user="mike@mikegerwitz.com" +set imap_pass="`~/.mutt/get-passwd personal`" +set imap_authenticators="digest-md5:cram-md5:login" +set smtp_url="smtp://$imap_user:$imap_pass@mail.mikegerwitz.com"' +set folder='imaps://mail.mikegerwitz.com/' + +# keep everything on the server for reference +set spoolfile="=INBOX" +set record="=Sent" +set postponed="=Drafts" + +# toggle +macro index \cP ":source ~/.mutt/account-gnu" + +# make it clear that we're using personal settings +color indicator default blue diff --git a/mutt/get-passwd b/mutt/get-passwd new file mode 100755 index 0000000..3370636 --- /dev/null +++ b/mutt/get-passwd @@ -0,0 +1,27 @@ +#!/bin/sh +# Retrieves an account password +# +# Copyright (C) 2014 Mike Gerwitz +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +## + +test -r ~/.gnupg/.agent && . ~/.gnupg/.agent + +# this will silently decrypt and retrieve the password if the agent is +# running (which is ideally the case so as not to screw with mutt's +# rendering) +gpg --batch --decrypt ~/.mutt/passwd.gpg 2>/dev/null \ + | grep "^$1" \ + | awk '{ print $2 }' diff --git a/mutt/theme b/mutt/theme new file mode 100644 index 0000000..e390129 --- /dev/null +++ b/mutt/theme @@ -0,0 +1,42 @@ +# Mike Gerwitz personal mutt color configuration +# +# Copyright (C) 2014 Mike Gerwitz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice and +# this notice are preserved. This file is offered as-is, without warranty +# of any kind. +# +# This file expects that the referenced groups will be defined elsewhere; +# for example, I define many of them in a private `contacts' configuration +# file that I keep out of the repository to protect the privacy of myself +# and those referenced in the file. + +color normal default default +color hdrdefault cyan default +color signature green default +color attachment yellow default +color quoted green default +color quoted1 white default +color tilde blue default +color indicator default blue +color tree magenta default + +color index red default '~F' +color index brightblue default '~U' +color index brightred default '~U~F' + +# stuff that needs my attention +set my_attnpat="(%f attn)" +color index yellow default "$my_attnpat" +color index brightyellow default "$my_attnpat ~U" + +# programming/technology related; note that GNU below overrides +set my_tpat="(%f gnu | %f fsf | %C gnu | %C fsf | %f tech)" +color index magenta default "$my_tpat" +color index brightmagenta default "$my_tpat ~U" + +# point out GNU account e-mails +set my_gnupat="(~C 'mikegerwitz@gnu.org' | ~h '^Envelope-to: mikegerwitz@gnu.org$')" +color index green default "$my_gnupat" +color index brightgreen default "$my_gnupat ~U" diff --git a/muttrc b/muttrc new file mode 100644 index 0000000..571dfb2 --- /dev/null +++ b/muttrc @@ -0,0 +1,84 @@ +# Mike Gerwitz personal mutt configuration +# +# Copyright (C) 2014 Mike Gerwitz +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice and +# this notice are preserved. This file is offered as-is, without warranty +# of any kind. + +set realname="Mike Gerwitz" + +# caches dramatically speed up larger mailboxes +set header_cache="~/.mutt/cache/headers" +set message_cachedir="~/.mutt/cache/messages" +set certificate_file="~/.mutt/certs" + +# every message I send is GPG-signed to assert my identity +set pgp_sign_as=0x8EE30EAB +set crypt_replysign +set crypt_replyencrypt +set crypt_autosign +set crypt_autoencrypt +set crypt_verify_sig + +# this is the default, but let's make it explicit for purposes of +# documentation---I do not mass-sign e-mails, and the task of entering a +# password does not add much to the time of composing an e-mail message +set nopgp_use_gpg_agent + +# we're not using gpg-agent for a reason, so let's not entrust this task to +# mutt either +set pgp_timeout=1 + +# force TLS +set ssl_starttls +set ssl_force_tls + +# spam my mailserver; that's fine. +set noimap_passive + +# I have external e-mail indicators, but if I have my client open, don't +# piss me off by having those indicators say I have new mail any having my +# inbox not refresh quickly +set mail_check=30 + +# responsiveness +set timeout=5 +set net_inc=5 + +# header stuffs +set use_from=yes +set edit_headers=yes +my_hdr X-URL: http://mikegerwitz.com + +# get rid of the obnoxious line wrapping markers, which makes it especially +# inconvenient to copy text from the terminal when people decide to be +# inconsiderate with their line length +set nomarkers + +# let's fit some more text on the page and ensure that rude lines (long) are +# wrapped +set print_command="fold -s -w120 | lpr -o cpi=15 -o lpi=9" + +# spelling should always be enabled for composition +set editor="vim -c \"set spell spelllang=en\"" + +# minor modification to default style to add author to the very right, which +# is useful for mailing lists +set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s %> %F" + +# self +alternates -group self .*@mikegerwitz.com mikegerwitz@gnu.org +alias me Mike Gerwitz +alias -group gnuself me-gnu Mike Gerwitz + +# default to personal account and automatically switch to GNU account if it +# is mentioned +source ~/.mutt/account-personal +message-hook "%C gnuself" "source ~/.mutt/account-gnu" + +source ~/.mutt/theme + +# load system-specific configuration +source ~/.mutt/local