Went off on the deep-end of immutable's and returned to Linux Mint, anyone else go full circle?

I’ve been deep-diving into the world of immutable containerization over the past few years, leveraging the convenience of quick environment rollbacks on my work dev machine. It’s been a great exploration and adapting how I work to a more containerised method has really helped.

I ventured into the realm of NixOS, attracted by its promise of rapid recovery—even if my system went belly-up, a swift spin would have everything back in action. Then there was Silverblue, whose seasoned approach and robust support I admired. MicroOS, encapsulated my ideal system startup.

However, each journey was peppered with challenges—roadblocks that significantly impacted my workflow. Whether it was wrestling with system-level processes to coax VPNs into life or convincing printers to cooperate, the hurdles were consistent companions.

I decided to trial mint and making it close to the pros of an immutable using this guide, Making Linux Mint a Pretend-Immutable Distro with BTRFS and Timeshift.

image

My filesystem isn’t read-only, but I’ve realized it doesn’t have to be. What I’ve found in Mint is a blend of familiarity and efficiency—a distro that doesn’t dictate how I should work, but rather complements my workflow. After all, Mint was where it all began for me, and it feels like I’ve come full circle.

Has anyone else gone on a wild adventure only to settle on a “beginner” distro?

However, each journey was peppered with challenges—roadblocks that significantly impacted my workflow.

Modern distro developers when they learn that stateful systems exist.

1 Like

(I haven’t learned the ups and downs of immutable distros. In general I’ve had reactionary views about immutability, to find in hindsight I’ve moved towards it at many levels just cleaning things up, especially reducing dependencies and coupling.)

leveraging the convenience of quick environment rollbacks

Do you use btrfs? It’s not quite the same, but with frequent snapshots and a bit of discipline nearly so.

I haven’t delved deep into NixOS, but I want to stay away from Silverblue and MicroOS. Quite a few of my things around here are running NixOS (including some raspberry pis and other SBCs) and it feels much cleaner than the Debian I’m running for OpenNebula.

That said, I’ve never left the normal distro sphere. I’m still running alpine and void. I won’t be running nixos on my main pc anytime soon, my setup just works right now. On servers, I run a mix of them (and debian, hoping to get devuan for at least some things that require debian, but don’t need systemd like opennebula does). Both alpine and nixos run with tmpfs rootfs. Technically alpine is not exactly immutable (lbu is cool and only saves what it believes it needs + whatever you add to it, but nixos does a better job of actually saving only what you need).

Also, I see immutable systems as things that either: a) you want to easily replicate, or b) are likely to break and you want to easily recover them. Why would I need something like this for a desktop? I’m assuming you’re not running mint on your servers. Unlike crappy distros like manjaro or others, void never broke my system. Ever. Not once. I’ve ran it as my main desktop since 2019 or 2020 on x86, then since 2021 on arm, then since 2023 on another x86 machine. I always just moved my home folder, installed the programs I needed and that was it, everything just worked. Even on servers, it has been rock solid (not to mention the amazing tools it has in the xtools bundle).

Jumping the gun on immutable systems is not something everyone should be doing. I still see nixos as a very far future of the linux server world (unless somehow silverblue or microos manage to dominate), especially if made completely immutable [1][2]. Running backups on the whole OS would be a thing of the past when all you need to backup is 1 or a few more config files and your user data. I haven’t even attempted to run a fleet of nixos servers on a single nfs rootfs, like gentoo.

Sure, you can run nixos as your desktop, but why would you want that? You’re much better served by a normal distro and just using nix-env if really needed. On server, nixos is great, being able to just copy the config, edit some variables (like hostname and machine-id) and slap it on another system with the same specs is fantastic (did it on 2 rpis).

1 Like

this is how I have set up mint with btrfs snapshots