In this second article of the series I’m offering some updated insides into how my technical setup as a professional Software Developer and IT enthusiast looks like. The use of many tools is very opinion based and so my recommendations can be considered subjective.
Moving to immutable operating systems
Part 1: Linux for gaming and more
If you read my first article about how my IT setup looks like, then you probably noticed that my workflow is rather unusual for a rolling release Linux distro. Relying for software mostly on Flatpak and Distrobox, is a choice rarely made on an Arch based distribution. This combination had a specific reason: I was super interested in immutable Linux distributions, however I was not sure how far I would come with the restrictions such operating systems bring. Anyhow I was running pretty much every single application through Flatpak already. Only few applications and drivers, mostly related to gaming, I installed as native packages and from the AUR respectively. Besides, I wanted an up-to-date system, using the latest KDE desktop and the latest drivers and therefore Arch (EndeavourOS) was a good fit.
When I recently was forced to reinstall my OS, I just gave it a shot and installed the immutable distribution Bazzite instead - an adapted version of the Fedora Kinoite image by Universal Blue, focused on gaming. It brings the KDE desktop environment which I prefer, but they offer Gnome as a choice as well. I had serious doubts that the installation would last for long on my PC. Besides the restrictions I expected troubles getting used to Fedora, as I was used to Debian and Arch based distros. But here’s the thing: The Bazzite image in specific turned out so perfectly pre-configured for my needs that I didn’t need to deep-dive into the inner workings of Fedora (and its atomic distributions) at all. I’m able to get all additionally needed applications, be it for software development or productivity tasks as Flatpaks. For CLI tools I’m using the preconfigured Homebrew, which I earlier knew only from macOS.
The PC running Linux serves me nowadays mostly for gaming, but also for occasional productivity tasks. If you’re considering switching to an immutable distribution, then I can only recommend to getting used to things like Flatpak first. Then check if there is a fitting image for your main use case e.g. from Fedora or Universal Blue. E.g. if I would setup a PC for mostly software development I would probably choose the Aurora Ublue image instead of Bazzite, although Bazzite works great for software development too. Bazzite (with KDE) has become my absolute favorite OS and I can only recommend to give immutable distros a try!
Part 2: MacOS for software development & productivity
MacOS an immutable operating system? Compared to years ago when I gained my first experience on MacOS, the operating system feels still very much the same. However under the hood there have been significant changes ensuring a secure system. Be it app permissions, but also the general system being mostly immutable nowadays. You have no longer ways of modifying system files as an Admin user (besides going over some work arounds which I leave out here). Similar as on Linux based immutable distributions, your day to day work will happen inside your home folder.
While I was stating in my first article that I use MacOS for work (which I still do), meanwhile I use MacOS privately as well: I switched to MacOS even though I still favor Linux in some regards over MacOS. So why that? Well, I learnt that for my use cases the Macbooks meanwhile offer such great performance, that powering up my PC instead would just be a waste of energy. The Apple ARM processors are just super competitive in regards of power consumption. The operating system has some getting used to things for me, however here what made the switch possible for me: The extended usage of Homebrew. I was used to Homebrew for CLI apps, however what about GUI apps? There are no Flatpaks for MacOS. My choice fell towards Homebrew Cask as source of my GUI applications. With this I can manage pretty much all applications I need through Homebrew on the command line - be it for CLI or GUI apps. Pretty much like on Linux. Sometimes I do miss the KDE Plasma desktop environment, but MacOS has some interesting features too - like Stage Manager - which helps not having dozens of application windows overlapping each other. I don’t use it permanently though.
MacOS became my daily driver for software development and productivity. I like some of its features e.g. how it integrates with other Apple devices, the permission system for apps and I dislike some of the other features. But overall I’m going to continue my MacOS journey.
That’s it for now
Again, if you’re courious about something else, then feel free to send me a message!