Off the shelf vs. customised tools

Introduction

There are basically two big groups of people in the linux world now a days. There are those who just wants work done, and use off the shelf tools, e.g. ubuntu + vscode, and then you have the ones who go full hog and build a fully customised system (arch + window manager + vim/emacs etc.) Personally I'm of the second one, and I'll be trying to argue for that wievpoint here, but I'm not saying that this is the best way for everyone and I don't mean to talk down to the first people of the first group, we're all different people with different needs after all.

My setup

I am running on arch linux, with the bspwm window manager, qutebrowser as a web browser, and my editor of choice is vim, all pretty much configured to work just like I want it to, to fit with my strange choice of keyboard layout (colemak – curl, angle, wide). And I have basically only the things that I use installed and little more than that.

Work, and feeling of accomplishment.

The first reason why I like building and customizing my tools is just that for me it's enjoyable, and the feeling of accomplishment when the tool finally works or looks like I want it to it's just a great feeling. Tinkering with tools and configurations can be a joy in and of itself. I also learned about the IKEA effect yesterday, and it's something that at least rings very much true for me, something that you spent effort doing will be personally more worth to you than something that you just took over and didn't tinker with.

Something that fits your needs better.

The way you work is bound to be different than how others work, so to me it only makes sense to set up a working environment that is going to work for you, rather than something that works against you. What that means in practice is first choose a tool that works the way you think, and secondly to configure it so that you get those last drops of comfort out of it.

Automise tasks that you do often.

If you keep on doing something the same way every time, then it's something that you could automise, and if you can do it using smaller tools, writing a short shellscript that does what you want to is going to make that thing go smoother every next time you do it. Also at least for me it makes tasks that are otherwise monotone and boring become more exciting, since it uses something that I did.

Reduced feeling of helplessness.

And this is the most important point I feel, instead of being stuck with having to work around a problem having configured the tools by yourself, and by using customiseable tools, if there is something you don't like you can change it. I didn't like the standard window switching function of my window manager, so I changed it to the style that I prefer. Or I wish that I had a function to switch one of my smaller windows to the biggest one on the desktop, and it was something that I could changed, instead of having to do things the way that the developer of the program does it, you're free to do it your way.

Summary

Of course I don't expect everyone to rush in and do things the way I prefer, and if you're happy with what you have and the way you work, then by all means keep it that way, just know that if something is constantly rubbing you the wrong way, or you have some small points of friction, there's probably a way that you can configure around it :)