Creating a killer customised Linux distro with Arch & i3: Part I


As of my recent endeavours to swap from Windows to Linux, I have been distro and desktop environment hopping a lot.
I started out with Ubuntu with Unity, tried OpenSUSE with KDE, went back to Ubuntu, but this time with Xfce4.
I then decided to swap from Ubuntu to Arch Linux, because Ubuntu was to bloaty and had too much pre-configured.
What I wanted was more control over my OS, as I described in my previous article.
After fiddling around with Arch for a while, I was quite content with how the inner workings of this distro worked.

However, when it came to desktop environments, I couldn’t find the one that suited me best.
I tried lxde, which was too basic for my taste.
Then I tried out KDE, which sadly, I did not like at all.
Even though I read a lot of positive articles and user testimonials, it was quite buggy for me.
I eventually started using Xfce4, which struck my fancy a bit because of the customisation options.
And finally, I would up with Gnome 3, which I used for quite some time due to the pleasant “flow” of the DE.
In the process of previously described events, I kept reading about Linux in general and found out about i3wm (i3 Window Manager).
First off, it seemed very complex, and maybe a little too basic for my needs.
But, in the process of reading more and more about it, I became more and more intrigued by this (in my eyes) somewhat weird, bare window manager.

Goals of this installation

I decided to go back to the drawing board and view my needs as a user.
With an objective view, I jotted down what I actually do with my desktop, which are the following activities:

  • Writing
  • Reading articles and news on the web
  • Mailing
  • A little bit of gaming
  • Programming C++ and web content (HTML,CSS,PHP and Javascript)
  • Watching movies on Kodi
  • Listening to music on Spotify
  • And obviously the “adult” things in life, like paying bills, etc.

What tools will we be using?

Obviously, we’ll need a choice of Linux distribution as our core operating system.
In my case, I have chosen for Arch Linux and will be referencing to this throughout this guide.
However, if you feel more comfortable with another distribution, feel free to use that instead!
Furthermore, you will be needing a window manager.
There’s a plethora of window managers, including but not limited to; i3, awesome, Openbox, dwm.
Mostly because of personal preference, I will be using i3 in this guide as my window manager.
You can set your session directly into your Xinitrc, by adding:

exec i3 -V >> ~/i3log-$(date +'%F-%k-%M-%S') 2>&1

Optionally, you can also use a Display Manager (DM), which has my preference.
I prefer using LightDM as my DM, but again, this is preference.
i3 comes with a handy, configurable tool for locking your screen, called i3lock.
In this guide, I will be referencing i3lock as my screen lock utility.
In the latter part of this guide, I aim to show how to configure i3 to be visually pleasing, a process known as “ricing”.
i3 has many parts that can be visually customised, like toolbars like Polybar and yabar, launchers like dmenu or rofi, GTK themes, backgrounds and even a built-in hardware monitor (Conky) that can be tweaked and customised.
If I’ve sparked your attention enough to make the leap and create your own highly customised *nix distro, click here to view part II of this guide!

Leave a Reply