Linux: Turn That Smile Upside Down

I've been using Linux as often as possible for years. Home servers, dumb little projects, experimental software. In honesty I'm no wizard; the one thing I really put effort into customizing was my IRC client (IRSSI)
That XKCD comic never gets old. And never will - it's essentially a prediction. But times are changing and my needs are getting too exotic for a standard config. It's just recently I started diving into how Linux distributions actually work, and I gotta say it's really fun.
I Want to Use Arch (Btw)
Most of my friends are smarter than me. It's great inspiration but always pits me as the butt of a good handful of jokes. I don't mind, keeps me humble, but one of the things that gets on their nerves is the way I mislabel everything in Linux. Until recently I've spent most of my time in Debian based distributions, which are amazing for most use cases. So when I innocently kept referring to something like the package manager as "apt-get", as in "I apt-getted Vim onto my computer via the texty-hacker-screen," it turned a lot of smiles upside down. But I also get scolded for calling the Display Manager a "login screen." Amongst other things, I started to ask myself why we have all these terms.
I don't think I'm actually dumb, but I'm selectively inquisitive and fixing my observational skills. I tunnel vision hard problems but a mix of weird thinking-ways works often, but it's not always. Certainly not a conducive way of learning. I probably could have told you everything I'm about to say 5 years ago if I'd even thought to look it up. I'm only now questioning the wold outside my Debian waters.
Enter the Void
I made a VM of Void-Linux because my friends ranting on about the future of Runit. Innocuously, asked "what is Runit and why should I care?" but that's when I got an earful about the plight of System D bloat and the new Runit era we are in for. I've seen "initd" written around a few parts of my old distributions but never paid it much thought. By the end, I gathered that System D is old and full of old bloat that slows things down. Runit is new and doesn't have 50 years of stuff inside it, which makes things run fast. Radical. I googled "what distro has Runit, and that's when I found Void. It boots into the CLI about 3 seconds faster - tubular.
Void without any sort of window manager (another phrase I was slightly more familiar with since I used to use i3WM) is incredibly limiting. Despite how techno-illiterate I sound to a lot of 1337 Linux users, I am most comfortable in the terminal, using GUI apps when I don't know of any other options. I'm also happy in the home-row of my keyboard, and I do get annoyed when I need to move the mouse. Perhaps I'm just sick of lugging peripherals around with me when I travel (which is something I do a lot).
Considering I Just learned of the power to change my init system, I knew I could change other aspects of my build. This gave me an idea. My current work computer, for better or worse runs Windows since there is no way for me to get on my company's network otherwise. I put up with it because my older Linux builds ate tons of energy and were hard to keep portable. Now the Windows computer and software is putting (yet another) computer into obsolescence. So, with my idea in mind, I deleted the VM of Void, and reinstalled it, this time limiting the resources given to it to a 16gb raspberry pi equivalent.
As for the idea itself - it comes from my history of computers. I started using computers that required a lot more energy to effectively accomplish basic word processing, games, and other "big at the time" software. I was tired of bloat, tired of doing essentially the same sorts of tasks on beefier and beefier machines that couldn't keep up for some reason. My Raspberri Pi Zero 2W is a ton beefier than my first machines ever were but use a fraction of the power (and size).
Pi in mind, I start messing with Void. I used Runit with Void, chose the Suckless WM and Dmenu, picom as my compositor to make the terminals transparent against my Feh background image. Spent a needless hours getting Ly running as my Display Manager (Should have read the documentation better), and changed the default cli to the Suckless Terminal. Most of this runs very lean. The one compromise on size I did make was for the X server (the thing that handles graphics) over wayland because of support. So far so good! Low-res youtube works (screen adjusted for lower res helps too). Firefox works, although I prefer cli web browsers for the gemini and gopher support. The single social media I use (Mastodon) works via a terminal TUI program called "toot" which I love. Email in Mutt. and I noticed that I got a lot done without needing a ton of resources.
Future plans were being made when I realized one day I'd been working for hours in my VM on my windows laptop, and yet the battery didn't drain all that much faster than normal. In fact, the VM sucked up an incredibly small amount of power compared to the Firefox tabs I let idle on windows. This was exciting.
Enter Arch
The Pi set-up is going to do some great things that I'm excited about, and I may run it in Void... I'm not sure. I may even run it with Wayland. But one thing kept bugging me the more I played with Void. It's a great learning experience but the Void repo, which I respect for its stability, is limiting. There are a lot of packages I love which simply aren't there. It gives me lots of warning screens over Python scripts, and I don't know if I want to go through the hassle of putting in an entirely new Package Manager.
I juggled the idea of switching to Gentoo at the recommendation of a friend (and maybe I'll get there one day). There were some early thoughts on making a dedicated Gentoo rig, or server, or something. But right now Gentoo isn't aligning with my goals - low power, lean, high speed, convenient. Gentoo (which can take days building from source sometimes) wasn't going to be my match. not this time. Although I hear once you get it going, its fantastic.
It's about time I really dive into a system and really make it mine - thus we begin with Arch. As a learning tool, I think if I understand the build instead of copying the build from someone else (something I do too often), I will get a better understanding of what I'm actually doing, what all the parts are, and I'll have a Linux system that really feels like it's mine. This penguin is leaving the nest to start working on something a bit bigger than my current skill set, and it's exciting.
So I Bought a Cheap Thinkpad
What about the Pi? The Pi is going to have some neat use cases later on, but for my initial plans of understanding subjects like users, servers, and some programming things I want to get done, I need something a little beefier.Plans
The list I have thus far for my goals is as follows, in no particular order except when it cannot be helped:- Install Arch with a deep understanding
- Choose software that will make it lean and consume as little power as possible to run idle.
- Start using Docker and Kubernetes (maybe adding Pi as part of a cluster)
- Run a Terraria server in docker / kubernetes (and maybe a minecraft server later)
- Learn how users and permissions work so that the account managing server stuff is running, yet not being messed with, when playing with other apps like DOS games or new configurations
- Rice the system until its cool
- Learn more vim
- Configure vim for blogging in markdown to html
- Use Vim primarily for blogging but also editing config files 9.1 See if Vim has some cool auto-upload files?
- Never have to turn off the machine if I don't want to
- Renew my domain, upgrade bear, merge together.
Life Course Alterations and Conclusion
This is all going to seem very tech-heavy and ambitious but I don't have a lot of time. A lot of weird policies are shooting out left and right in my home country. Actually, I cannot go back there, and I'm on a timer. Originally I thought I'd go canoodle with Tech in New Zealand as a pathway to migration. But, it's going to be too slow, and if I don't make some seriously quick headway I might not even have a shot at a good life for me and my family. Ironically Milly and our soon-to-be-born child can spend more time in my home country than I can. It's a little nuts and a clear indication of a decaying system. The country we are in now cannot support me long term, nor protect me if my distant homeland goes haywire.
I'm changing course then to my original idea: teaching. I'm a fairly good teacher, and I do like it all in all. I had to have a sobering look at where I was, where I want to go, and what options I have. I don't want my child growing up where I live now. It's an urban sprawl. The air is rancid, there is nowhere to play outside. The education system is failing, liabilities are getting worse. Most children I know only watch TV and run around a small cubic home because there is nowhere else to go and nothing else they can do. I don't want that for my own child. If I didn't have a partner or child, I probably wouldn't mind staying where I am - but now my future is tied into that of two other people who I love dearly.
Doing these projects before the baby is born will let me balance my tech, teacher, and family. Maybe I could run an after school Linux and coding club - which is something the country would approve of I think. Working in the countryside would have more benefits than just having a good place for my child to grow up, and I can make a more meaningful impact on people in my community.
Maybe my tech stuff only ever results as my own sort of hobby - and maybe it becomes someone else's passion through my ability to introduce it. Or perhaps it means if a time comes when I cannot teach anymore, I have other ways to get by.
It's a good time for me to find the balance between work, life, and passion as three sides to the same coin - rather than three divisions in my life.
More progress will come. I'll have pictures and stickers on the Thinkpad when it gets here. until then,
With loving kindness, Daruma
Did you enjoy this? Send me an email!
© Daruma - all rights reserved