Skip to content

Instantly share code, notes, and snippets.

@mcgrof
Created April 1, 2022 00:20
Show Gist options
  • Save mcgrof/3385e162dc9935b7b05239ebca0c4d96 to your computer and use it in GitHub Desktop.
Save mcgrof/3385e162dc9935b7b05239ebca0c4d96 to your computer and use it in GitHub Desktop.
My .muttrc
set realname="Luis Chamberlain"
set from="mcgrof@kernel.org"
set use_from=yes
set pgp_default_key="0xCE231D0A309288A7"
set pgp_sign_as="0x088D02AC047A60A0"
set crypt_replyencrypt = yes
set crypt_replysign = yes
set crypt_replysignencrypted = yes
set header_cache="/home/$USER/.mutt_header_cache_mcgrof"
my_hdr Cc: Luis Chamberlain <mcgrof@kernel.org>
set sort = threads
set sort_aux=date
# What headers to show
ignore *
unignore from: date subject to cc reply-to:
unignore resent- x-resent
# What order to show them
unhdr_order *
hdr_order Date: From: To: Reply-To: Cc: Subject:
set mbox_type=Maildir
#set mbox_type=mbox
set folder="~/Maildir/"
set mask="!^\\.[^.]"
set record="+Sent"
set postponed="+Drafts"
set spoolfile="~/Maildir/"
set edit_headers # display the headers when I'm editing a message
set mask="!^\\.[^.]"
#set implicit_autoview=yes
auto_view text/html # view html automatically
alternative_order text/plain text/enriched text/html # save html for last
ignore *
unignore Subject: Date: From: Reply-To: To: CC: BCC: X-Mailer: User-Agent:
unset mark_old
#mailboxes `echo -n "+ "; find ~/Mail/ -maxdepth 1 -type d -name ".*" -printf "+'%f' "`
#mailboxes `echo -n "+ "; find ~/Mail/ -maxdepth 1 -type d -printf "+'%f' "`
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
macro compose A "<attach-message>?<toggle-mailboxes>" "attach message(s) to this message"
macro index c "<change-folder>?<toggle-mailboxes>" "open a different folder"
macro pager c "<change-folder>?<toggle-mailboxes>" "open a different folder"
macro index A "<tag-pattern>~N<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all new as read"
# Setting
set pager_context=4
set pager_index_lines=10
set pager_stop
set alias_file=~/.mutt/aliases
macro index (t '<tag-prefix><pipe-entry>~/mailtogit/mail-to-mbox^M' "Dumps tagged patches into ~/incoming/*.mbox"
macro index (a '<pipe-entry>~/mailtogit/git-apply-incomming^M' "git am ~/incoming/*.mbox"
macro index (g '<tag-prefix><pipe-entry>~/mailtogit/git-apply^M' "git am tagged patches"
macro index (r '<pipe-entry>rm -f ~/incoming/*.mbox^M' "Nukes all ~/incoming/"
macro index (l '<pipe-entry>ls -ltr ~/incoming/^M' "ls -l ~/incoming/"
macro index ,t '<pipe-entry>~/mailtogit/mail-to-mbox^M' "Dumps currently viewed patch into ~/incoming/*.mbox"
macro index ,g '<pipe-entry>~/mailtogit/git-apply^M' "git am currently viewed patch"
macro index ,a '<pipe-entry>~/mailtogit/git-abort^M' "git am --abort"
macro index ,r '<pipe-entry>~/mailtogit/git-reset^M' "git-reset --hard origin"
# Binding
bind pager <backspace> previous-page
bind pager - previous-line
bind pager \eOm previous-line
bind pager + next-line
bind pager \eOk next-line
bind pager \eOM next-line
bind pager \e[1~ top
bind pager \e[4~ bottom
bind index <backspace> previous-entry
bind index - previous-entry
bind index \eOm previous-entry
bind index + next-entry
bind index \eOk next-entry
bind index \eOM display-message
bind index \e[H first-entry
bind index \e[F last-entry
bind index \e[1~ first-entry
bind index \e[4~ last-entry
bind alias <space> select-entry
bind alias x exit
bind attach x exit
bind browser x exit
# What headers to show
ignore *
unignore from: date subject to cc reply-to:
unignore resent- x-resent
# What order to show them
unhdr_order *
hdr_order Date: From: To: Reply-To: Cc: Subject:
# On to the colors
color attachment blue default
color header green default "^message-id:"
color header green default "^x-mailer:"
color header green default "^user-agent:"
color header blue default "^date: "
color header brightblue default "^from: "
color header green default "^subject: "
color header brightblue default "^to: "
color header brightblue default "^cc: "
color header brightblue default "^reply-to: "
color index green default ~F
color index red default ~D
color index blue default ~T
color index brightblue default ~N
color indicator brightwhite blue
color markers red default
color quoted magenta default
color signature brightblue default
color status brightwhite green
color tilde cyan default
color tree blue default
color body black default "(^| )_[-a-z0-9_]+_[,.?]?[ \n]"
# Patch syntax highlighting
color normal white default
color body brightwhite default ^[[:space:]].*
color body brightwhite default ^(diff).*
color body white default ^[\-\-\-].*
color body white default ^[\+\+\+].*
color body green default ^[\+].*
color body red default ^[\-].*
color body brightblue default [@@].*
color body brightwhite default ^(\s).*
color body brightwhite default ^(Signed-off-by).*
color body brightwhite default ^(Cc)
# Command formats for gpg.
#
# This version uses gpg-2comp from
# http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp.tar.gz
#
# $Id: gpg.rc,v 3.1 2002/03/26 22:23:58 roessler Exp $
#
# %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="/usr/bin/gpg --charset utf-8 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
# verify a pgp/mime signature
set pgp_verify_command="/usr/bin/gpg --no-verbose --quiet --batch --output - --verify %s %f"
# decrypt a pgp/mime attachment
set pgp_decrypt_command="/usr/bin/gpg --passphrase-fd 0 --no-verbose --quiet --batch --output - %f"
# create a pgp/mime signed attachment
# set pgp_sign_command="/usr/bin/gpg-2comp --comment '' --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_sign_command="/usr/bin/gpg --no-verbose --batch --quiet --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
# create a application/pgp signed (old-style) message
# set pgp_clearsign_command="/usr/bin/gpg-2comp --comment '' --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_clearsign_command="/usr/bin/gpg --charset utf-8 --no-verbose --batch --quiet --output - --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 /usr/bin/gpg --charset utf-8 --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 --passphrase-fd 0 -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap /usr/bin/gpg --charset utf-8 --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="/usr/bin/gpg --no-verbose --import -v %f"
# export a key from the public key ring
set pgp_export_command="/usr/bin/gpg --no-verbose --export --armor %r"
# verify a key
set pgp_verify_key_command="/usr/bin/gpg --verbose --batch --fingerprint --check-sigs %r"
# read in the public key ring
set pgp_list_pubring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --list-keys %r"
# read in the secret key ring
set pgp_list_secring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --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="^gpg: 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 '"'`"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment