My Lisp-centric "Good Easy"
Sunday, April 27, 2008
I enjoyed reading Mark Pilgrim's "My Good Easy" blog post last year. In it, he described his Linux configuration and included links to all his main configuration files. I wanted to try out the new Ubuntu 8.04 Hardy Heron release so I decided to re-create my Linux configuration on an older Windows laptop that I still have. The key things to note about my Ubuntu configuration:
- I use Stumpwm as my Window manager. Stumpwm is a minimalist window manager (very similar to Ratpoison and written by the same guy) that is written in Common Lisp. Since my window manager is written in CL, I always have a running CL that I can use. Not only can I connect to it in Emacs (using SLIME), but I can use the "stumpish" shell script to pass Stumpwm commands and/or Lisp expressions to Stumpwm from an xterm (or shell script, etc). It's not a Lisp Machine environment; however, if you're a lisper, it's pretty neat having access to CL all the time! (here's my .stumpwmrc config file)
- I use SBCL as my CL implementation, Emacs (with SLIME) for editing code. and clbuild for managing external CL packages. I also use the excellent tiny-lisp elisp package (part of the Emacs Tiny Tools project) for enhanced elisp coding support. (here's my .sbclrc and .emacs config files)
- I prefer a single full-screen xterm and use screen when I'm working with either many terminal programs or remote servers. (here's my .screenrc config file)
- I prefer a light-on-dark color scheme so have my Emacs color theme and X defaults set up to facilitate this. (here's my .Xresources config file and my color-theme-billc.el custom Emacs color theme)
- I mostly use Firefox for Internet browsing. In order to keep keybindings similar to Emacs and reduce the need to use a mouse, I install the Firemacs and Hit-a-Hint add-ons.
The exact steps that I went through to re-create my Linux configuration are listed in this annotated xterm history listing, but basically they consisted of the following steps:
- Get all the Linux packages that are needed
- Add a few emacs libraries that I use
- Install clbuild for managing CL libraries
- Need to build a non-threaded SBCL for Stumpwm
- Install some Stumpwm dependencies and SLIME and build Stumpwm
- Create a Stumpwm session file (so we can easily swap window managers)
- Add my config files
- Add my custom background and emacs color theme
- Manually configure Firefox

