Evgeni Golov: Desktop in a shell: mutt
Continuing my series about a desktop in a shell, today I will present you my mutt setup. I use mutt because it has no bugs and is a really good MUA for people loving consoles ;)First of all you have to know, that all my mail is forwarded to my server and sorted into Maildirs via maildrop, so I do not care about sorting on my desktop , which just fetches the mail via IMAP from the server ;)I m running mutt-patched from Debian Squeeze, so not all options may be available for you if you do not have the same patchset as I do.First, tell mutt to fetch mail from imap.die-welt.net via IMAP:set imap_user=username set imap_pass=password set folder="imaps://imap.die-welt.net/INBOX" set spoolfile="imaps://imap.die-welt.net/INBOX"Now, enable IMAP-IDLE, list subscribed folders, reconnect to the server if needed and mark mail as read when you open it:
set imap_idle set imap_check_subscribed unset imap_passive unset imap_peekLet mutt save sent mail to the Sent directory on the IMAP server, and postponed mail to Drafts:
set record=+Sent set postponed=+DraftsRead mail should stay where it is:
set mbox="!"We use IMAP-IDLE, thus check for new mail manually only every 90 seconds:
set mail_check=90Instead timeout after 15 seconds if no user input is given:
set timeout=15Set default mail from address to my default mail address:
set from=evgeni@golov.deAnd send mail via mstmp (see below for mstmp configuration):
set sendmail="/usr/bin/msmtp"Tell mutt which addresses I recieve mail to (danger, ugly regex!):
alternates (evgeni@(debian.org golov.(de eu)) sargentd@(die-welt sargentd).net evgeni.golov@uni-duesseldorf.de)As mutt knows where I receive mail, let it set From accordingly:
set reverse_nameLet mutt cache some stuff and find its certificates:
set header_cache="~/.mutt/cache/headers" set message_cachedir="~/.mutt/cache/bodies" set certificate_file=~/.mutt/certificates set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crtShow only interesting headers in an useful order:
ignore headers * unignore headers from to subject date cc hdr_order from to cc subject dateFix stupid MUAs behaviour (e.g. filenames like
=?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=):set rfc2047_parametersBeep on new mail, will generate a ! in the window name in screen:
set beep_newmutt-patched has the great sidebar patch, assign ctrl-n, ctrl-p to select next, prev folder, ctrl-o to open selected folder:
bind index \Cp sidebar-prev bind index \Cn sidebar-next bind index \Co sidebar-openAnd toggle sidebar visibility with ctrl-b:
macro index \Cb '<enter-command>toggle sidebar_visible<enter><refresh>' macro pager \Cb '<enter-command>toggle sidebar_visible<enter><redraw-screen>'Since 1.5.20-2, mutt patched contains my sidebar-dotted and sidebar-sorted patches.
Let mutt shorten the displayed path (e.g.
debian-devel instead of INBOX.ml.debian-devel) and sort the folders (the are returned in random order when using imap_check_subscribed):set sidebar_shortpath set sidebar_sortNow let s set some colors (that match the rest of my desktop ):
color sidebar_new yellow default color normal white default color hdrdefault brightcyan default color signature green default color attachment brightyellow default color quoted green default color quoted1 white default color tilde blue defaultAnd add some useful macros for marking new and old messages as read:
macro index .n "<tag-pattern>~N<enter><tag-prefix><clear-flag>N<clear-flag>*" "Catchup all new messages" macro index .o "<tag-pattern>~O<enter><tag-prefix><clear-flag>O<clear-flag>*" "Catchup all old messages"When forwarding mail, I like it to be forwarded as an attachment (YMMV):
set mime_forward=yesI m using goobook in mutt to fetch my addressbook from Google. As there is no Debian package for goobook (yet), you have to install it yourself (via
easy_install):apt-get install python-argparse python-gdata python-simplejson python-keyring python-nose easy_install goobookConfiguration is easy via
~/.goobookrc:[DEFAULT] # If not given here, email and password is taken from .netrc using # machine google.com email: me@gmail.com password: passwordAnd then add the following to your
.muttrc:set query_command="goobook query '%s'" bind editor complete-query macro index,pager a "<pipe-message>goobook add<return>" "add the sender address to Google contacts"That s all for mutt, but We are running mutt in a screen, so let s add the following to
.screenrc to fix transparency and cut&paste (see http://wiki.mutt.org/?MuttFaq/Appearance):defbce on term screen-bceAnd as mutt uses mstmp (yes, I know, mutt can handle SMTP itself ), this is my
.msmtprc:defaults domain dorei.kerker.die-welt.net tls on account die-welt.net host smtp.die-welt.net from sargentd@die-welt.net auth on user username password password tls_starttls on tls_certcheck off # Set a default account account default : die-welt.netC est tout! That is my personal mutt configuration, you can download it as one file here: my .muttrc. And as everyone loves screenshots, here is one:
Oh, the next chapter will be about irssi, but not before next Sunday (March 6th) as I ll be offline for a week, skiing in Austria :)
You re eager to start contributing to Debian, your first action is to subscribe to some high-profile mailing lists (like
My server, which is among other things hosting this weblog, is a dedicated server originally hosted by the German webhoster webperoni. It was a bargain at that time, and still a good price, and I was satisfied with webperoni s performance and reliability. Unfortunately, they were taken over by another web hosting company, best known for their
I've been very quiet on here for a few months, and the reason is (of course) because I've been doing other things. No surprise there, I guess!
What I've been doing, first of all, is writing
Enough news to release another Debian XSF News issue, after less
than a week.
There are many ways to run some commands simultaneously on multiple
hosts like 

There seems to be nice increase in interest in creating themes for phpMyAdmin. Unfortunately today submitted theme came too late for
It's now also available on the 
Last week, we learned 






My first ever Linux installation was done in the late
nineties 1998 or thereabouts but was a RedHat 4.5
installation rather than a Debian one. The reason for that was fairly
simple: the Infomagick sixpack CD set that I'd bought contained RedHat,
Debian, and Slackware, but the RedHat installation was the only one that
could be installed directly from CD the other two required me to
write floppies and boot from those to start the installation, and I
wasn't very fond of that idea.
It was only a few years and a few broken RedHat upgrades later that I
saw the light and considered trying out this Debian thing that some of
my classmates were talking about. The fact that I'd just bought my own
computer (rather than having to compete for time with my siblings on my
parents' computer) was a good reason to do a fresh Linux installation.
I'd been planning to install Linux From Scratch, but as what was still
known as the LFS HOWTO told me you'd need a working Linux installation
to do that, I considered my options. Since I'd developed a strong
dislike of RedHat, I wasn't interested in doing another RedHat anymore.
So, I downloaded the most recent version of Debian at the time (Potato
Test Cycle III), wrote it to a CD, and installed. I've probably still got
the CD lying around somewhere.
A few months later, I found these "Linux Gazette" packages in the
archive, with the latest packaged issue being 47, but the latest
upstream version being much higher. Trying to figure out what was going
on, I mailed the maintainer, Adrian Bridgett, who encouraged me to take
over maintenance. Thus began my life of actively contributing to Open Source
software.
In November 2000, I applied to become a Debian Developer. In January
2001, Martin Michlmayr was assigned to be my AM. And in early February
2001, now just over ten years ago, I'd become a Debian Developer. Yes,
that was fast, and no, I probably wasn't really ready yet, at the
time.
Originally, I only cared much about these Linux Gazette packages.
But, as time went on, I started looking around, too. A friend passed me
an old Macintosh Centris 610. As I tried to install Debian on it, I
found that it didn't actually run very well. This turned out to be due
to it having a broken 68LC040 processor, so I bought me another
m68k-based mac, one with a full 68040 processor (a Centris 650). Thus I
became involved in the m68k port and buildd maintenance.
As these old machines came with 80MB or 250MB SCSI hard disks of
which I had none laying around, and a then-recent Debian installation
had minimum requirements of about 200MB, I was in need of network
storage to be able to do anything useful with the mac. NFS didn't work
as expected; the RTC implementation on m68k mac hardware was reverse
engineered and didn't work too well at the time, which meant that the
clock would run slower if the machine was under load, and that in turn
would mean that make would get confused about timestamps, since they
would suddenly appear to originate from the future (in NFS, it's the
server that assigns time stamps, not the client). There was a simple
solution, however; Pavel Macheck had written this neat 'Network Block
Device', which would let the client do its own filesystem on network
storage. Only it wasn't packaged; but then, that was
After Debian Squeeze was