From Windows to Ubuntu and Beyond

Status: Ongoing Learning

My journey through various operating systems has been an intriguing personal exploration of different philosophies and technologies. Here’s a brief overview of my OS history (I tried to find photos of my old setups, but I only have a few):

Windows

I started, like many, with Windows. School stuff and games.It was familiar and widely supported, but I wanted to see what else was out there.

Ubuntu

My first foray into GNU/Linux. This was around when I started dabbling in tech, and Ubuntu’s user-friendly approach (and easy beginner’s suggestion at the time) eased the transition and introduced me to the world of open-source software.

  • Photo of my old Ubuntu setup (with customized icons and theme to match MacOS at the time): Ubuntu Setup

Pop!_OS

Attracted by its focus on gaming and sleek interface, Pop!_OS further deepened my appreciation for Linux. Although my time with it was short, I enjoyed the experience. I’m looking forward to trying some of its newer features with the Cosmic desktop at some point though (Probably when an Ubuntu spin gets released with it).

  • Photo of old Pop!_OS installation setup: Pop!_OS Setup

Linux Mint

I enjoyed Mint’s stability and Windows-like familiarity, which made it an excellent choice for Linux newcomers. And it gave me some more experience and more open-mindedness to tinker and explore.

Manjaro

I think it was around this time I started using Manjaro, and I remember enjoying the experience. Though I recall going back to Windows for a while in between Linux distrohopping.

  • Photo of my old Manjaro setup: Manjaro Setup

Ventoy

I need to shoutout Ventoy, a great tool for creating bootable USB drives. I’ve been using it for a long time, and it has helped me distrohop freely and easily. (Although some OSes don’t play well with it, and I’ve had to use other tools like Rufus or Etcher to install them).

Debian

Diving into Debian taught me about the importance of stability and the power of a vast software repository. I had some trouble installing first times because I was using the netinstall, and I didn’t know what I was doing, although I was able to install it through termux and andronix at the time (tinkering with the Google Pixel 4 that sadly met an untimely demise).

KDE (Desktop):

I started with Gnome, and I believe I interacted with KDE first when installing Manjaro. Although not an OS, it’s a desktop environment that I’ve used on several distros. I also learnt to use Konsave, to migrate my configurations from one machine to another. I eventually returned to Gnome, and I am eager to try other DEs again, but I really do like KDE a lot and tried Plasma 6 at some point.

  • Photo of my (not recent)KDE setup: KDE Setup

EndeavourOS

I believe I installed it with KDE, and I remember fondly learning about the desktop environment and how to use it, as well as the cutting-edge benefits of an Arch-based system. It taught me a lot about system customization and the AUR, and I still like to install Arch in distrobox and use yay to install some apps or code a bit.

Fedora and Fedora Silverblue/Kinoite

Fedora introduced me to cutting-edge features, although it’s somewhat stricter policies with proprietary stuff gave me some hoops to jump while I got used to it. Silverblue/Kinoite showed me the benefits of immutable desktops. Although my time with Fedora was didactic, because their policies are somewhat stricter out of the box, so to configure some stuff I had to search around and learn in the meanwhile, such as HW acceleration (drivers) and some other stuff that you can absolutely do, but out of the box you need to find workarounds or do some tinkering. These have a special place in my heart.

  • Photo of my Fedora setup: Fedora Setup Fedora Setup

Bazzite and Nobara

These two made me realize how much work goes into tailoring an os for specific needs with their tweaks and approaches. Their objective to make Linux easier out of the box, with gaming in mind seemed at the time very appealing, and I was looking forward to trying them out more. With Nobara, I remember struggling to install/uninstall some packages because of the way they handle updates and the repositories (which is a feature and what they aim for, but it was a bit confusing at the time). With Bazzite, the similarity to Kinoite about Immutability made me feel comfortable. This was when it started clicking for me the way rpm-ostree works, the value in container workflows, and an insight into reproducibility. Also, since they are based on other OSes (Fedora/Ublue) for the non-user stuff, their idea of having a final OS and keep updating from upstream seems really clever and interesting.

  • Photo of my Bazzite setup: Bazzite Setup Bazzite Setup

This is mainly the OS with which I built the page for CIS Ibero. For more details about this project, check out the CIS Ibero post in my portfolio.

BSD based software

After finding out about BSD based software, I toyed around with FreeBSD and OpenBSD, and some other Live images on a USB, but I found it somewhat difficult to use and work with. I get their importance and security though, so I’ll probably come back to them later when deploying some critical infrastructure or learning more about them. And I find the concept of jails and its differences with containers and VMs intriguing.

I have installed OPNsense on the router, though I haven’t done much with it as of now until I get around setting up proper networking and messing with the firewall and stuff.

NixOS

NixOS introduced me to declarative system configuration and got me fully into the concept of reproducible builds, a concept I found fascinating. After trying to learn to use it, and having the container workflow in mind, I really liked it. I remember setting up Home-manager, and trying to get into flakes. I eventually got far enough but not enough to really use it as a daily driver at the time (struggling with non FHS compliancy and other stuff), but I’m looking forward to giving it a try again another time. I still use Nix at times and would love to get into making derivations, flakes, and all that.

Proxmox

Proxmox is a great OS for managing virtual machines and containers. It is a type 1 hypervisor, which means it runs directly on the hardware without the need for an underlying host OS. It is based on Debian, and it has a containerd-based OS called PVE (Proxmox Virtual Environment). (Although some OSes don’t play well with it, and I’ve had to use other tools like Rufus or Etcher to install them on bare metal).

OpenMediaVault

It has been one of some attempts at getting a NAS to work, and I think I’m close to having it running, but I haven’t had much time to tinker with it. It is also based on Debian, and while there are some other competitors like FreeNAS, or Unraid, I wanted to try something different and more open-minded. If the performance is good enough, I’ll probably stick with OMV.

Vanilla OS

I was drawn to its immutable core and containerized application approach. And really liked their work with APX and APX GUI, but the lack of FDE encryption turned me away for now, although I am still trying to install these programs on Ubuntu until they get FDE to work out of the box.

Back to Ubuntu

Despite my adventures, I’ve returned to Ubuntu for its balance of stability, support, and familiarity. However, my journey has given me a deep appreciation for its simplicity and the ease of use it provides. I have broken it a few times, but I have also learned a lot from doing so and why it was completely my fault.

And while Ubuntu serves as my main OS at the moment, I continue to experiment with these concepts, often using virtual machines or containers to explore other distributions and workflows. I’m still choosing Ubuntu as the designated LXC os as well.

Here are some posts about how I’m using Ubuntu at the moment:

You can also check out how the homelab is going here.

This journey has not just been about finding the “perfect” OS, but about understanding the diverse landscape of operating systems (and distros) outside of Windows and MacOS and other mainstream ones, and the unique strengths each brings to the table. It has given me a deeper appreciation for the complexity and diversity of the Linux ecosystem, their philosophies, communities, and the efforts that go into the making.