JC Olivares - Blog

My Linux Desktop setup



I've been using Linux for more than 20 years now (23 if I recall correctly). It took me several years to make Linux my primary desktop driver, though. Here's a snapshot of my current setup, from the distro to the tools I use for software development.

The distro

My first distro was SuSE 5.1, thanks to a CD included in an edition of PC Magazine. I have to say that it blew my mind. The possibility to run an operating system other than Microsoft Windows was incredible. After a while, I switched to Red Hat, then Debian, Gentoo and Ubuntu.

It was not easy to use Linux during the late 90s and early 2000s as my primary desktop environment. When laptops began to be a thing, simple tasks like connecting to a new wireless network was not easy on Linux. Ubuntu changed that and it was really thought as a friendly desktop experience. That was the point when I decided to fully move from Windows to Linux.

After Ubuntu, I jumped to Arch. I have tried multiple derivates but finally have sticked to vanilla Arch for the last 8 years or so.

The desktop


Until not long ago, my desktop environment was MATE (pronounced ma-te as the drink in Spanish). It might be that I'm just old and I miss the early 2000s, but MATE + compiz was a really good mix.

A few months ago, however, I switched to bspwm. Tiling window managers can be scary at first and indeed have a steep learning curve but, in the long therm, they provide a very good and personalized experience.

Here's a list of software I install as soon as I have a new computer or installation:


Desktop environment

Desktop software

Development software and tools

Other tools


Since I have several computers and it's a common process to install or re-install, I decided to create my own install scripts. Usually, Arch Linux is installed manually following the installation guide, but I value my time so I try to automate as much as I can. I created this repository: juancri/my-arch-setup that includes scripts to install all the software previously listed and apply some tweaks and customizations.

Feel free to explore this repo and use it as an inspiration to customize your own setup ;)