A Minimalist System — Philosophy Behind Terminal-based Applications to Suckless
Planted January 14, 2024
Since I have been using Linux for most of my life till now and while I started my computer usage on the Windows Operating System (at a very early age), terminal-based programs have been a life-changing things for me. I have been a person obsessed with minimalism and simplicity in everything. While I spend most of my day in the cyber world, I like to have my computer workspace as minimal as possible. For the start of getting a minimal operating system as well as a laptop so minimal that it has only 3 holes and 1 socket for charging, the Macbook Air M2. This was a great laptop to me, given that the macOS is so minimal by design and the hardware itself is simple and minimal. But while using the MacBook, I figured out that I use my MacBook through my terminal. I started realising how easy it is to interact with the computer with a terminal, nearly for every purpose. Finally, after some time, I got my old PC which had some decent specs [16GB RAM + AMD Ryzen 2400G + 512GB SSD], I started using Arch as my go-to Operating System. Arch by design is a Simple and Minimal Operating System.
The answer behind why I admire simplicity and minimalism is that I am a person who likes to get things done with less effort, fast-paced and as smoothly as I can. Computers have been using terminals for a long time now, even before the GUI (Graphical User Interface) came into the picture. Since GUI provides a very good and easy-to-operate kind of feeling, in a visually appealing way. On the other hand, terminals can look intimidating at times, especially for a beginner. But I would like to clear out a fact: Simple and Minimal does not mean it’s always gonna look easy. It may be easy for the user but does not guarantee that it will be easy for others to do.
MacOS has a great visual appeal to it and a very user-friendly usage interface. But the fact that it’s constrained a lot is kind of not a very useful thing at least for me. Like I remember once I wanted to get a transparent clock widget but didn’t find the way I needed it to be. To do that, I would have to go through the whole process of learning Swift Programming Language and then take time to develop it on my own. But that too doesn’t mean that I can use it as I want. The fact that I love going to the low levels of the computer and when you have such a constrained device, it is very hard to get the exact freedom of usage I need. But that’s something I believe is justified for that fact the MacBooks are so optimised for their applications and probably Apple doesn’t want some naively written C code to make the system slower and consume more battery. They have good control over their own Swift Language so I think it’s good for the sake of the organisation’s reputation and the user’s usability. So I love MacBooks anyway and I would probably keep using them.
Never trust a computer you can’t throw out a window — Steve Wozniak
But the fact that somehow you need to have control over your device is also necessary given that if you are a computer nerd or a person who knows computers in great depth. And when it comes to a user-controlled Operating System, Linux is always the go-to choice (you have good access to the kernel you use so no complaints in the software-hardware interaction too.). For me, I use Arch (btw) which I believe is very much minimal and user-controlled. All the tools that you have in it are in your control and if you are like me, I believe in Open-Source tools to have transparency, you would have a usable and efficient system.
Operating Systems like Linux have a huge number of terminal-based applications and when combined with an OS like Arch, it goes even more seamless. Like now I don’t have to go out and look for a lot of widgets. I can make my own or have an Open-Source Widget and modify it as I need. Now that’s freedom. Systems like these are lightweight, they can do multi-tasking much more efficiently and as much as you need as each task is now relatively small for the computer. Using Terminal-based applications makes the CPU process less of the GUI that you don’t even care about using anyway. The fact that you know what you want to do and how to do it, you don’t need a GUI to run the program. Even TUI (Terminal User Interface) is good when the steps are too complex for commands and are universal enough (and given that you are nerdy enough). TUI applications like the ranger are very handy and have replaced the GUI file managers from my system. Creating aliases for Linux systems is also very useful, for example, I need to enter “f” in the terminal to skim over my file structure. These are some very small details that save a lot of time when you have a muscle memory built into your hand that you don’t have to think about before typing the command.
You may have seen geeks around using their keyboards and remembering all the shortcuts for it. Like just to send an E-mail, they use the terminals and type long commands. Taking a lot of pain to edit a single file with Vim. But that’s not the case. I use NeoVim (a better and expandable way of using Vim) for my daily use and even for the development of the company I am working as an Intern for. I have been a VScode user in the past and can confirm that using NeoVim has been better for me than the VScode (or any other editor). It’s just the fact that I don’t have to lift my hand from the keyboard to access the mouse is a great relief and faster to get things done.
Muscle memory plays an important role here while learning these things. I highly recommend having a system based on your preferences and your gesture for ease of use. Having a muscle memory for each task and what fits your hand best is amazing. It just takes time to get yourself moulded into it. It took me about a month to get comfortable with the smooth flow of NeoVim, but once I did, it was incredible. I am trying to go to the extent of using my custom keyboard one day, split into two and with the key layout of my choice.
It takes time to master, but no time to start. Once done, you feel like the one in control of the computer.