Living la vida ELPA

Posted on Tue 10 July 2012 in geek

I've been running Emacs 24 direct from the version control tree (technically a git mirror, bzr still confuses me) for some time now. As many people have mentioned ELPA is one of the big features that helps de-clutter an Emacs users ~/.emacs.d directory. I thought it might be a useful exercise to discuss which packages I'm now loading from ELPA and which I still track directly.

First and formemost is my my dotemacs collection. Weighing in at around 2700 lines of elisp it's small by some standards. I've toyed with moving my config across to things like the Emacs Starter Kit but I'm not sure if it's worth the transition pain. There is certainly a lot of cruft in my code but there is also quite a lot of muscle memory now invested in it. I have been trying to modularise it a little more but to be honest most of that was driven by a desire to get autoload working nicely which is no longer much of an issue as my session tends to stay up for weeks at an end.

I'll gloss over edit-server.el surfice it to say I'd hope your not surprised I keep the development version running given it's for my extension ;-)

After that we have Johnathan Rockway's eproject. I work with lots of code bases during the day and some sort of sensible project type structure is a must. I've tried a number of different solutions and this one stuck as it was fairly lightweight and easy for my smaller lisp brain to extend. I've even managed to contribute some changes back. As a result I find tracking the bleeding edge of development useful.

The same reason applies to Stephen Bach's lusty-emacs. While ido-mode and ibuffer work well for speed nothing matches lusty's lazy file and buffer matching. It can get a little too much once you start dealing with hundreds of buffers at a time (something midnight-mode is trying to keep on top of). It's still seeing some activitiy on the repository hence the local checkout.

Finally the biggie but generally unused cedet. There has been some work to make it comparitively easy to run out of a src checkout and as long as it's included early enough it won't conflict with the built in cedet shipping with Emacs 23+. I still haven't really made much use of it although I have managed to get a completion out of it when editing some C. It's basically sitting there until I can commit enough time to figuring out how to use the beast.

Finally a quick review of the ELPA packages that I've got loaded. Obviously there is the latest org-mode which I'm spending an increasing amount of time in. I also have my favourite zenburn-theme for easy on the eyes goodness. The popular GIT interaction mode magit also sits there which I use every day. js2-mode and ssh_config_mode completes the list of modules that I actually use.

I have a number of additional things in there which I don't actually use at the moment but I plan to try out including nose (for python unit test), jsshell (for JavaScript coding) and another one I see a lot of the wizards using yasnippet but again is awaiting time to play with.

So what ELPA packages have you discovered and what hidden gems to you track directly in your .emacs.d?