Hacker News new | comments | show | ask | jobs | submit login

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. [1]

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!

[1] 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.

This is the efficiency post that I kept coming back to when starting to use the command line more: http://shebang.brandonmintern.com/tips-for-remote-unix-work-...

I'm seeing a lot of people respond about using similar setups with different tools. It doesn't really matter whether you use awesome/xmonad/ratpoison or something else, but I can tell that the people who built the tools I use think about computers the same way I do (https://wiki.archlinux.org/index.php/The_Arch_Way). I'm striving for this: http://blog.sanctum.geek.nz/series/unix-as-ide/

If you like DoublePane you might like size-up better. I use that and cinch but I am considering a switch to Moom. It has even more interesting features and combines the size-up features with cinch.

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.

I'll check those out now -- thanks! :)

Interesting. What's painful about xmonad (compared to awesome)?

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.

Thanks. Your points seem valid for 'normal' people. I'm so engrossed with Haskell, that I see much stranger fish than $ and ., like <=< or &&& or <$> .

Thanks. Your points seems valid for normal people. I'm so engrossed with Haskell, that I see much stranger fish than $ and ., like <=< or &&& or <$> .

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.)

I'd love to see that. I'm a fan of tiling windows and a custom Arch setup is my escape plan if OS X goes off the rails.

Actually I feel the same as you, except I'd say it's already off.

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.

Sounds similar to my setup: Arch Linux, monsterwm, dwb, urxvt, zsh, tmux, vim. All managed with salt[1] and keeping dotfiles in git[2].

[1]: http://github.com/uggedal/states

[2]: http://github.com/uggedal/dotfiles

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'd love to use uzbl, but unfortunately there's no LastPass support (apart from some bookmarklets that can provide basic functionality).

So I've stuck with Firefox but have installed Pentadactyl, which adds Vim emulation support. It gets me close enough to avoiding mouse use as I think I'll ever get.

Arch + DWM + URXVT + VIM here and love it. Tiling WM are so convenient. I am a little too apprehensive using Xmonad, dont have enough time to mess with haskell.

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.

I'd be mildly interested; Debian + ratpoison + screen + urxvt + vim, here, so there's bound to be similarities but differences might also be enlightening.

Interested as well. debian + awesome + vim + urxvt and I am always looking for more ways to make it better.

I'm using Debian + KDE + vim + konsole. I love KDE Konsole.

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 precisely the same setup, and love it. Full control over every tool in the whole chain.

I'd add one more that I find essential: Pentadactyl. Without it, the context switch when using a browser really disrupts the flow.

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...

You motivated me to clean mine up. Here's the result:


vimium supports almost no vim keys (due to chrome snarfing them) which makes it totally useless for me

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.

Yes please! I'd like to take the dive into Arch Linux at some point, this kind of post would be super helpful.

Exactly my setup :) Although, since xmonad I don't use tmux that much anymore!

That's interesting setup. Waiting to see how it looks like.


How well does Arch run on the MacBook Air? Looks like a great setup, would be interested in more info about it too.

donniezazen: I got home with my ipad and immediately bought issh to try out this setup: http://yieldthought.com/post/12239282034/swapped-my-macbook-... It was disappointingly terrible.

Please don't use shorteners, use the actual URL. Edit: He has changed them.

What are you running on your tablet?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact