Redhat years (2002 - 2003)

The first distro I used was Mandrake Linux and then Redhat linux. When I first intalled these distros, I had to use installation CDs and printed manuals to get up and running. In those days, wifi often required special drivers and we had to compile kernel modules to get the network working. Good luck if you wanted hardware graphics card support (AMD Radeon, I’m looking at you)

I used Gnome as my desktop manager, but I liked to explore new packages and bleeding edge features. I was new to gnu/linux at this point and mostly had no idea what was going on - I slowly learned that /etc/ contained configs, /home/ was user data and /usr/ was for packages installed on the system. I had no idea that packages could be compiled against different libraries and would often try to install packages I found using an RPM search website only to find out that I was missing dependencies or had a different version of the library installed.

ArchLinux (2003 - 2007)

After installing some bad packages and messing up my package tree a few times, I eventually realized that the .rpm package format was not for me and moved to ArchLinux. From 2003 - 2007, I used ArchLinux - especially since I had enough time on my hands to fix broken installs. On Arch, I tried out different WMs, including Xfce, WindowMaker and Fluxbox. Every few weeks I would customize my desktop, fiddling with backgrounds, menus and organization.

My favorite feature of Arch was the PKGBUILDs and how easy it was for the community to share packages. Having a forum of dedicated bleeding edge users was great for exploring and trying out new things.

Some of my favorite programs from this time were GkrellM, Conky, MPD and XMMS. I used gaim (later renamed to pidgin) for messaging and hexchat for IRC.

The switch to Ubuntu (2007)

In 2007, I started working full time and realized I didn’t have time to mess around with broken upgrades and moved to Ubuntu LTS. The idea was that I could install a mostly default system and not have to worry about upgrades breaking things for me.

This was mostly accurate - but at some point SystemD started taking over more and more subsystems. With each upgrade, I now had to worry that some new SystemD feature would be broken or require a config workaround. Still - I thought this was better than bleeding edge breaks. Now (in 2019), SystemD mostly doesn’t bother my life, but I am still apprehensive when I do a dist-upgrade.

The switch to Mint (2020)

Ubuntu announced they were going with snap packages for popular packages, so I started searching for my next setup. The choice was mostly between arch or Mint, but I decided to go with Mint for now.1 So far so good, it’s similar to Ubuntu in most ways.

The current setup (2009 - Now)

In 2009, I started thinking about how to eliminate the mouse from my life (see my post on mousekips) and eventually moved to using Xmonad as my window manager with Xfce4 as my desktop.

What I like about xmonad is that I can do most of my window management tasks using the keyboard and dual monitors are well supported. There’s a simple timelessness to a minimal desktop: my rot window is all black and there’s no window decorations for minimizing, maximizing or closing windows.

My philosophy for how I use my desktop is simple: each workspace usually has one window maximized on it. This is so that I can focus on one task at a time. For web dev, I use dual pane mode: one pane is the dev tools, the other is the browser.

Work Computers (2019 - Now)

At work, I use fedora, but I still use the same setup as my home machine: xfce4+xmonad. I’ve gotten pretty good at installing and configuring a system at this point: it only takes a couple hours to bring up a fresh install with all my regularly used applications.

The future (Now - ???)

I’ve spent 10+ years with xmonad, because of how well it works for me. I’ve tried switching away every few years and always end up returning.

The main downside of xmonad for me is that the configuration is in Haskell. As someone who doesn’t know Haskell (gasp), configuring xmonad is hit or miss. I’ve been setting up AwesomeWM which is configured in Lua, but haven’t managed to get it exactly the same as my xmonad setup. There are small bumps and the defaults don’t seem to work as well as I want. I’ve also heard good things about i3, but haven’t had a chance to try it out.


  1. I think it was because the cross compilers for arm in arch requiring a custom AUR build