Wong Liang Zan

Wong Liang Zan

© 2020

My Solarized themed Arch Linux Setup

Arch linux solarized screenshot with emacs urxvt tmux xmonad

The screenshots received much interest from my friends. I am going to show you how to build it. Long story short, use the same color theme for your applications.

OS: Arch Linux

Arch linux xmonad solarized screenshot with blank desktop

Obviously only Linux or BSD gives you this much freedom to customize your desktop. I’m using Arch Linux. Other distros should yield the same result. The advantage of using Arch Linux is it gives you a blank slate to work on. If you use all-in-one distros like Ubuntu, you would have the extra work of stripping out the desktop environment.

Color theme: Solarized

There’re some very good color themes available. Here’re some very good ones.

Choose one which you like. I’m using Solarized. Not all color themes are created equally. Popular themes have more tooling support. For Solarized, it has been ported to vim, mutt, shell, and emacs. It makes it easier to apply the same color theme to other applications.

Font: Inconsolata

As with color themes, font is very much a personal preference. Choose a good monospaced font to use for all your apps. I’m using the Inconsolata font.

There are other good recommendations here

Window manager: XMonad

I’m using XMonad. I wanted a tiling windows manager as I wanted to maximise my screen estate. I chose XMonad because of the way it handles windows on multi monitors. Each screen shows an independent workspace. I have control over which application should appear on which screen. For example, I can show a movie on my second monitor while switching workspaces only on the laptop screen. The movie does not get affected. OS X, Windows, Gnome, KDE treats both screens as a single workspace. Nothing wrong with that. But I had to manually move apps from screen to screen and do a lot of Alt-Tab window cycling. With XMonad, I no longer need to do that. I just switch workspaces. XMonad allows you to configure apps to automatically go to designated workspaces. You get the added advantage of knowing exactly where which app is.

This repository is very well documented. My config is almost a carbon copy of it.

Status bar: Xmobar

Xmobar works well with my Window Manager(Xmonad). Configuring it is very easy. You should be able to achieve the same result with dzen2 too. Dzen has more features though. Xmobar is a plain text status bar. Here’s my .xmobarrc. The gmail checker is a simple hand written ruby script. The colors used are picked from the solarized theme.

Termainal emulator: urxvt

Arch linux xmonad solarized screenshot with urxvt

I’m using urxvt as my terminal emulator. urxvt is highly customizable. I don’t think the default terminal emulators that come with Gnome, KDE offer the same room for customizability as urxvt. It should not be a problem to install urxvt in your distro though. Just apply the color theme to your terminal. And it should merge nicely into the environment.

Here is my config for urxvt

Text editor: Emacs

Arch linux xmonad solarized screenshot with emacs

Be it Vim or Emacs, you can easily apply a color theme for it. There’s the Solarized theme for Vim as well. Just follow the instructions and install the appropriate color theme for your text editor. For emacs, you need to use the color theme package. There’s a separate solarized color theme package. Install it and it’ll merge perfectly with the status bar.

OS integration

To take it further, I made my wallpaper integrate into the status bar. I also used dark themes for Chrome and Firefox. Similarly for web apps like Gmail, I try to use a dark theme to merge in with the desktop. This makes the entire computing experience very pleasing to the eye.