My long term compute plans
Addressing my last Linux post
Last year I posted about not wanting to do Linux advocacy anymore. I stand by that statement because Canonical and Redhat’s tyranny over the landscape has been even more aggressive since I last wrote. The twin combination of people who want to infect my system with Rust and replace X11 with Wayland have hit a critical mass and unfortunately according to at least one pull request I’ve read, it seems that Debian is looking to make uutils the default.
I love Debian and it’s little cousin Devuan. I’ve run both, and I’m a big fan of both. I still use Mint LMDE for any projects I run where I need to make use of my graphics card because there isn’t a system as rock solid as Debian. But as I iterated in that last post, I’m done dealing with groups that tell me what to run on my systems.
So I’ve been doing a lot of searching and thinking about what I want to do.
- Debian based distros are out because Canonical has so much influence upstream.
- Arch based distros are out because the AUR is infested with malware and the maintainers are political enough that they’d remove X11.
- Fedora based distros are out because of Redhat’s influence.
- Opensuse was never in the running.
Valid Options
As I see it, there are a number of realistic options (Sorry Linux from Scratch, I’m not doing it):
Gentoo
Gentoo is a source code based distribution and the basis of Chrome OS. From what I’ve heard, people that run it, love it. For me, I use really old hardware, and I don’t want to compile on it. There are most likely ways to deal with that, but I’m just not into that idea. It also seems very complex. Complexity is the root of most problems, so I think I’ll pass, but I really like the principles behind gentoo.
Nix OS
This is a declarative build package system. I want to like Nix, but the issue with it is the same as Gentoo: Complexity. Every Nix guy I’ve talked to spends 15 mins trying to explain flakes, but gives up and says, “so… like I’m not very good at them, but they are better. Trust me”. I value simplicity.
A BSD variant
So I a have a little beater laptop that I use for experimenting. I’m trying out FreeBSD and OpenBSD on the weekends. FreeBSD seems to like my hardware. OpenBSD is fighting it. I love everything about the Unix philosophy and other than hardware compatibility issues, I’ve been pleasantly surprised with these. I’ve been told that you should come to BSD because you love BSD and not because you hate Linux. I can see why, so I am going to continue to play, but I’m not there… yet.
Alpine
I used to hate Alpine when I was working at XFR. It felt constrained, limited. But then I found out that Alpine on desktop is way nicer than Alpine in docker. It’s got a lot of stuff going right for it.
- It’s extremely lightweight. I can run dwm at something like 200MB.
- It uses muslc which means a lot of terminal options just don’t compile. I like that, because of how it cuts down bloat.
- APK is super fast. Packages take seconds to download and run.
- the busybox base means that they aren’t likely to replace the tools with rust rewrites anytime soon.
- Its got a simpler init system than systemd.
- Its documentation is pretty stellar.
In short, it’s all I need for a system.
Outcome
I’ve been daily driving Alpine for the past few months and I just like it. I have to echo the sentiments from Drew Devault on This point. Alpine really is low drama because it really has to be. It’s meant to be the basis of Docker containers. It needs to be rock solid, stripped down, and minimal. Add too much, and in a kubernetes cluster, you can spend easily hundreds in extra storage fees.
Furthermore, if Alpine ever goes a way I don’t like, it’s got an apk caching feature where I just download the packages that I want to an install onto a box and make it into the repo for my other installs. I can lock my version to a mirror made by my own installs without having to rsync the entire package mirror. It’s so nice!
Now the Rustaceans have made it clear that they are coming for the Linux Kernel, so I’ll be looking at BSD’s future with great interest, but until the Kernel goes off the rail, I love my little Alpine system and I hope I get to run it for a good long time.