Would anyone be interested in a writeup of my setup? Arch Linux + xmonad + tmux + urxvt + zsh + vim. No desktop environment, just a setup optimized for reliable web development. I've been building this setup from scratch at work and at home for the past year, so I've got most of the minor annoyances figured out.
First off, I'm sure that with the (recent?) surge in "check out my super efficient setup" posts, a write up of your config would be fairly well received.
The real reason I'm responding is to throw in my $0.02 that for those that want an easy and efficient tiling window manager setup, but don't want to go through the relative pain of xmonad, `awesome` is a great substitute. I've used it for years now, and although my office hardware changed from an old-ish ArchLinux box to a Macbook Pro, I'm still an avid fan of tiling WM's. Even on OS X, the first app I install is always 'DoublePane' to mimic the functionality. 
As efficient as vim shortcuts can make you while banging out code, I am a firm believer that most window managers are absolutely and completely inefficient. Most people whom I convince to give a tiling, scriptable WM a try never look back.
It's vim efficiency for everything you do!
 I'm not affiliated with DoublePane in any way, and there are alternatives out there. That said, for $1.99 (last I checked), it does an incredible job of increasing my efficiency on my Mac.
I've actually been looking for something like this, and Moom seems to do the trick. It's got some nice customization, so I can at least set my own shortcuts for different areas of the screen. It works really well since I don't like straight 50/50 screen splits (I prefer a sort of pseudo-golden ratio layout -- Moom can't do it precisely, but it's close enough).
Pretty good use of $10, I think, unless I suddenly need that $10 for an emergency, like beer or coffee or a raw turkey. So, thanks, even if I'm stuck without a supply of raw turkey for a week.
Haskell is a pretty heavy dependency when you're not using it otherwise, and whatever it other benefits, does not make for a good configuration file IMO.
I don't really know what to think about the trend among some software of having a full programming language in use in the configuration file. It seems like a good idea at first, having all that power at your disposal, but it really complicates things at times. Especially when the language in question is far from the normal languages in use. If you ever find yourself wondering why the $ or. operator was needed in someone's configuration you'll see why that's a bad idea. (yes, I know if you know haskell the reason will be clear. The point is that you shouldn't need to know details of a programming language like that to configure a WM)
Awesome isn't entirely guilt-free with its Lua configuration file, but at least Lua is similar enough to languages like Ruby and Python that you can mostly get what's going on in a config file without having learned Lua specifically.
Interesting. while i agree having a language in the configuration is not optimal, it works a brilliantly the other way around. (i.e: a good way to get more people interested in a language.). Personally, i came across tiling WM on HN, along with haskell. and tried out. had trouble configuring or rather customizing configurations, tried awesome, but ended up on xmonad anyway, after doing 5-6 chapters of LYAH. I guess given i am a python guy, lua didn't excite me as much and ended up with xmonad + haskell. And oh, all of these took a year or so. I just recently went fulltime with xmonad.
It's anecdotal, mostly, but I've always seemed to have more issues getting it up-and-running. Of course, there's also confirmation bias ("See? This is harder!") and also just the fact that I got used to awesome-wm as my first tiling WM. Sort of like vim/emacs or Ruby/Python.
The biggest issue for me is that although xmonad and awesome are both completely scriptable/configurable -- one of the benefits of having conf files that are "alive" -- xmonad is configured through Haskell while awesome is done through Lua.
To me -- a security guy who can sling code from scripting languages all over the place, but doesn't do any functional programming -- Lua is much easier to understand and use. Not everyone feels this way, and a lot of the configuration is just setting variables anyway.
I know many people who swear by xmonad, some of whom even used it at my suggestion, so please don't take this as a "beware" message. Try both out, and see which you like! :)
I've been using xmonad for a few years, now. But since I'm doing Haskell for longer, still, I never though the language in xmonad as a hindrance. Quite the opposite.
As a security guy, even though you're more familiar with Lua et al, wouldn't you have a warmer fuzzy feeling with a strongly statically typed language? (I use Python every once in a while. But having to wait for the running time for detecting basic faults always gives makes me nervous.)
My main annoyances are the monkeying around with both the traditional process lifecycle for GUI apps, and the saving/loading of documents. I gather there has been some refinement of these (or at least more options) in 10.8, which I'll try a couple of point-releases in.
There's that, and also monkeying about with the trackpad (reverse scroll is okay, three-finger drag is very awkward for me), as well as hiding the Library folder, forcing use of the App Store to get Xcode, Xcode constantly crashing... I feel like I'm not part of the target market anymore.
Arch + xmonad + Screen + urxvt + Bash + Vim here, though I've found my use of Screen has dropped significantly since switching from KDE to xmonad, because the tiling is done right in the WM. I've got certificate-based login and Bash aliases set up for all my frequently accessed servers, so it's easy to open new terminals. The only real need for Screen is for stuff that needs to be persistent, but I try to avoid using persistency whenever possible, because it would just lead to me opening 100+ terminals in a Screen session, much like I do in Firefox (also not a good thing, but I haven't found a solution yet).
Arch + goomwwm + urxvt + bash + vim for me. I stopped using screen/tmux on my local machine (still use tmux on servers though) in favour of 1) keeping all my text editing in a single vim session using buffers/tabs/splits - this way I can use the standard vim commands (yank, etc) to copy and paste between files, and 2) multiple urxvt instances as goomwwm makes managing them just as simple as if I were using screen/tmux.
I also started to use uzbl as my browser. Maybe one day I can throw my mouse away :)
I'm using the same setup except xmonad instead of dwm. Aside from installing GHC as a dependency, I've have no need to mess with Haskell to use xmonad. And unless you're doing something crazy/brilliant with dwm, I'd doubt you'd need to hit the Haskell books either.
I used to prefer Awesome in part for the tweak-it-while-it's-running appeal of Lua configuration, although I rarely used it. Now xmonad has the same runtime configurability via GHC, with recompilation taking a second at most.
Yes, very much. I'm deving with Eclipse on OS X, but have been wanting to move away from Apple/OS X since Lion appeared and a linux xmonad setup seems intriguing so have been reading up on similar things and every extra helps.
Funnily enough that is exactly what I did after the release of Snow Leopard. I came to really enjoy using Arch Linux with wmii, vim and dwb. But a kernel panic later I'm back to OSX, for the time being.
I'm doing primarily web dev at the moment after a loooong err, "sabbatical", just started using vim, and waiting for my drive to come so I can finally have a stable Arch boot. So yes, I'd be very interested!
I use Chromium + Vimium, which makes my entire workflow possible from the keyboard when doing backend development. I somehow managed to go a full productive day at work without touching my mouse (except to move it out of the way at the start of the day) while working on a drag-and-drop feature. Since you're using the same setup, do you have a dotfiles repo so I can take a look? Mine is kind of messed up at the moment, but here's an old revision with everything: https://github.com/chris-ritsen/dotfiles/tree/113442a72ddacb...
I was using Vimperator for a while, but it didn't give good experience, My chrome has also its vim plugin but it has slightly different key map, because of that I stopped using vim plugin on both browsers.
I surely want to try out the new vim plugin Pentadactyl for firefox.