I just recently (a couple months ago) updated my Linux desktop experience at home. I had been running an Ubuntu 14.04 LTS install, that was getting long-in-the-tooth, as well as being unstable.

Part of the instability had to do with various hacks and patches I had put in place, including a big one where I updated gcc to the latest version to support C11; this broke my update process horribly - so much so that when I went to update the NVidia drivers, my system became ultra-b0rked. I had been meaning to do an upgrade - now I was forced to.

What saved me a great amount of trouble was the fact that I had partitioned my system; that is, when I had installed Ubuntu, I had put it on an SSD (/tmp and a few others were on a RAM disk), and /home was on a separate drive. So all I had to do was pull the SSD, drop in a new one, and re-install something else.

Actually, I also used a different drive for my /home directory, because my old drive was getting old - plus my /home directory itself had a lot of old baggage. To that end, I migrated it to a new drive, created a new user with the new OS install, then migrated the files I needed across (moving from Chrome to Chromium wasn't as easy as it should have been, but it was doable). For the most part, it was painless.

I ended up sticking with Ubuntu - but this time I went with Ubuntu Budgie. What I had done was check several other live distros first (regular Ubuntu, BunsenLabs, Solus, Mint, and a few others) to see what was out there again. See, my old system I had built from 14.04 LTS - but I had started with "minimal" and built it up to look and work almost identical to CrunchBang (#!), because I liked it so much (and #! had died, but its descendents hadn't been in a finished state - which is why I looked at BunsenLabs).

I ultimately wanted something like the MBP setup I used for work; I thought I had found it with Solus. It seemed almost perfect - except for its package manager. While it had a lot of offerings, I worried about the ease of whether I could install third-party stuff. One thing I had "vowed" to never again do was to "compile and install from source" (that was part of what got my into this mess); if I ever needed to do that, it would be better for me to run it in a container, on a VM, or in some other manner - just not mangled into my main system with no "accountability" as to what was done and where.

Solus' package management was a custom system, that leaned heavily on app images; I liked that, it was something I had recently looked into (like a week before all this happened), so I wanted that option. But their library wasn't as extensive as the Ubuntu ecosystem, and I also wasn't sure what to do about third-party .deb files and the like - how would I install those. So I looked around for a viable alternative.

I found it with Ubuntu Budgie. I could be on the latest version of Ubuntu (I actually chose stability over latest - so I went with 18.04 LTS), but still have the Budgie desktop (with Plank and other goodness). I've found the best of both worlds, and I have a system now that I believe is as close to my MBP (well, OSX) as I can get with Linux; honestly, I consider it a bit superior.

I've decided, as alluded before, not to install anything from source, as tempting as it may be, and instead only stick within the confines of what is available via apt and (trusted) third-party PPAs. Otherwise, I'll consider using one of the various app image systems, a VirtualBox VM, or something similar - or look for something else. I just don't want to end up in the same boat down the line.

Is it perfect? No. But it certainly beats the pants off of what I had to do with Linux 10 years before, or 10 years before that.

I've been using Linux in one form or another since 1995 (my first "install" was MonkeyLinux, which runs on a DOS filesystem; my first "real" Linux distro was TurboLinux 2.0); back then it was a "nightmare" - a fun nightmare, to be honest. Nothing like recompiling your kernel to get the latest PCMCIA drivers working, among other things. But I'm pretty past that kind of thing today.

Not completely, of course, as b0rking my system with a custom manglement to get gcc/C11 working (took me a while to get all the dependencies just right, but I had it up and running - but the update system for 14.04 LTS did not like it at all).