After Seven Years

I have been on Arch Linux for the entire current decade. I've heard nay saying on stability for rolling release distributions, yet for me, Arch's installations have been so remarkably stable, they would end up becoming boring.

You would only worry of having the original deployment and configuration on Arch. If you had a good provision, the issues you would inherit come from either your own negligence, or experimentation gone wrong. You don't have to worry about how to run cross versioned packages, since you would normally have a one track (latest release) of said package. And even with version dependent software, you don't have to worry about them due to the wonders of the AUR, the community, and how package breakage version updates are handled as a whole. Forget about tools magically stop working. Vanilla packages of software tend to actually run as the developer's envisioned for that release. The distribution specific patches of software would only be for stability in being able to run the current version.

Even bleeding edge experimentation can float with little issues on a rolling release like Arch. Want the latest kernel with Con Kolivas' ck1 patchset, Wayland specific Rust developed Tiling manager, custom patched systemd-boot (cause you just don't like Grub and want more out of systemd-boot), and AMDGPU driver for your new GPU? Completely doable and quite maintainable.

So boring.

Yet, it's this stability in the bleeding edge before 2010, was non existent in version distributions for myself. Fedora (Core) was a hell and a half for the first three months of each release. If you had a build working in those early months of a new release, you would consider yourself blessed. If you wanted a functioning OS, Ubuntu was where your sanity would go to die. And the two most stable of the version distros, Redhat/CentOS and Debian, would only be running legacy versions of everything from the year -2010.

So I've stayed with Arch for seven years. And what a good ride those seven have been. Arch has helped me grow on what I could and can do on a Linux system. So much so, I don't think I would've ever reached my current understanding while staying in version distributions. I had months I've spent in the Gentoo/Sabayon train, but didn't gain the insight as well as I did with Arch. Maybe it's due to not having to worry too much on what way to compile my builds and more on how to use the builds that really brought the enlightenment. Arch has had the Do It Yourself mantra, but to a degree of an in between Gentoo and Redhat idealogy.

With that said, I think I need to step out of my comfort again to learn more. While I have settled well with Arch, the fact still remains. I have settled. It's with tracking the unknown I've understood better the concepts of the internal tools. With it, I began a new hunt for the new distribution to ground myself on. There's a plethora of new stuff out there now. For myself, I narrowed down the list to two, Solus, and Suse's Tumbleweed. As you may already be aware, I decided to go with openSuse instead of Solus. The reason why is more of an odd unfamiliarity than anything else.

I have been tracking the Solus project for a while now. It's something I feel resonates with what I am looking for in a new distribution. The project became a rolling release last year and has been doing some marvelous things with packaging and orchestration of the OS. They use phabricator, which has very strong focus of code review first, then changesets. The Solus project doesn't limit themselves to tried and true practices and tries to experiment with what can work for the Linux of the next decade. Needless to say, I like them.

However, it's precisely because I like Solus that I chose Tumbleweed. I have never liked openSuse. Maybe it comes from being an old Red Hat user. Or maybe cause of that Microsoft deal when Novell was still in control. The documentation is atrocious (though it's getting better). At least I know when I begin to contribute to the wiki and I will, I'll have a year's worth of changes to push. I never really understood the delicacy that is ZYpp. Hated they used AppArmor instead of SELinux. Suse just never really worked for me.

Yet, I like Tumbleweed. It is similar to Arch's track of rolling release style. ZYpp's repository management is crazily well done. Actually, it's probably the reason why it's also used in mobile linux (Tizen and Sailfish OS as far as I know). Heck, I now think zypper is better than Arch's pacman (with the exception of AUR's ease of course). So I picked up an iso of Tumbleweed, made a btrfs subvolume for the root, redirected default to it, and went ahead with the install.

I've learned once you get passed all the clutter of legacy in openSuse and really start trying to understand the how tools work there, you begin to appreciate its tooling choices. Zypper's repository management is on a league and beyond of anything I've seen. You can essentially deal with multiple versioned software with zero collisions if used right. I have a Nix path on practically all my machines, and with ZYpp, I get the feeling of redundancy using Nix cause of ZYpp's practicality. The open Build Service, while going out of its way to be confusing and utterly frustrating to get started with, it can be quite versatile. You can not only make a repository of your own with the tool, which I did, you can essentially use it to orchestrate an entire distribution. That's precisely what Suse has done with the tool. I'm probably going to get lynched for saying this, but I like AppArmor now. I have some internal playbooks for Ansible to do some fun stuff with AppArmor. I'm still learning how to use it and probably how to implement on my own programs, but its actually easy to use and doesn't involve in writing these extremely intimate enforcement policies you need to write in SELinux for an application to even be usable.

Then there are the cool things the Suse team does. They have an Enlightenment track which is very easy to use and configure. In fact, when I'm not using my two favorite tiling managers, Awesome and Way-Cooler, I'm using Enlightenment on Tumbleweed. The Arm architecture support is well done in my opinion. And being a user of the pine64, I'm quite happy with the accessibility I have to the distribution in making packages and configuring.

Overall, I'm still learning the technical nature of openSuse. From the initial provision of my Ansible playbook for the distro to the current months now, I'm enjoying my time with the distribution more and more. It's teaching me the other tools I never once thought of to use before. I'm hoping in a year's time I can expand a bit more and share what else I've come to discover of the Suse world.