Perhaps this is a good opportunity to try a combination of Debian, for general system stability, and Nix, for specific tools where I need newer releases? Has anyone tried this combination before? If so, how did you find it?
It is Ubuntu-based but without the bad parts like snap. So you get to keep access to all the Ubuntu packages but also your sanity.
She went from needing tech support every time I was at her house to never overnight.
I highly recommend Mint for this scenario.
Pinning some security sensitive packages to stable or unstable might be worth considering. E.g., if running testing on a client, pin firefox and extensions to stable + stable-security (note, globbing works too):
/etc/apt/preferences.d/firefox:
Package: firefox-esr
Pin: release a=stable
Pin-Priority: 999
Package: firefox-esr
Pin: release a=stable-security
Pin-Priority: 999
Package: webext-ublock-origin-firefox
Pin: release a=stable
Pin-Priority: 999
Package: webext-ublock-origin-firefox
Pin: release a=stable-security
Pin-Priority: 999
The above priorities will not downgrade to stable from testing if the packages are already installed. To downgrade priority needs to be >= 1000. See 'man 5 apt_preferences'. If priority >= 1000, probably best to only do that temporarily, then adjust to lower to prevent setting a landmine for your future-self.If there are only a couple things you want to update to newer versions that are not in backports, you can just run stable, and pin those packages to versions in testing or unstable (but only if those packages pull in no / only a few dependencies not used by other packages). If you add e.g., testing/unstable sources to a stable system, add a catchall pin to force those packages to a low priority by default to prevent accidentally updating your entire system e.g., for sid:
/etc/apt/preferences.d/sid:
Package: *
Pin: release a=unstable
Pin-Priority: 10
Pinning without thinking can result in a broken system. But, I'm typing this on a box running testing (I guess stable, as of today) with packages pinned from Bullseye, Sid, and experimental and I've never had worse issues than an update being blocked due to dependency version conflict which was easily worked-around by pinning another package/removing or downgrading a pinned package; I run unattended-upgrades on all my boxes too. But, my hard rule is no scary deps e.g., a diff version of libc being pulled in, no deps shared with other packages that I would not want to have to pin to the same release (e.g., shared with any package with tons of deps itself), and no package that wants to pull in a lot of deps regardless of how benign they appear.Otherwise this is good advice.
https://wiki.debian.org/DebianTesting#Best_practices_for_Tes...
Debian is fine right up until you have to build something and find that the dep you need is too old so you have to build that from source, and that dep has a dep that's too old so you have to... basically build hell.
Arch seems to not have these problems but is a hair buggier on occasion.
[1] every couple of years in my experience... typically as they're getting closer to a new release and package breaking changes are needed/slip through.
for them: Whatever you download is going to be "Debian Stable." Debian Stable is as fresh and up-to-date as it's ever going to be at this moment, but it will not change significantly in the future, because its goal is stability. You throw it on something you want to run for years and not crash.
If you don't mind your system crashing every once an a while because you like new stuff, you use "Debian Testing." There is no place to download this directly from Debian, although some third-parties (like Canonical with Ubuntu) distribute customized versions of it. The way you get a non-customized version is by installing Debian Stable, changing sources.list to point at Testing (which you can do as "testing" or by its nickname), then dist-upgrading. Debian Testing is being tested to be the next Stable.
"Debian Unstable" afaict is where individual pieces of software are being tested to go into Testing. Nobody should be running it unless they are contributing to Debian, although there are apt-get masters who know exactly what they're doing who will pull bleeding edge packages from unstable individually.
About the nicknames: Stable, Testing, and Unstable aren't releases, they're an indication of the current status of a release. Each release has its own goofy name. "Bookworm" has just moved from Testing to Stable. "Bullseye," which until just now was Stable, has now become "Oldstable."
Also important is the "[yourrelease]-backports" repo, which Stable users can add to take newer packages from Testing that are 99% certain not to mess with the stability of Stable. Stable + backports is a compromise between Stable and Testing for people who want new stuff that doesn't break things.
I'm sure most people know all of that, but 1) when it comes to things like this people are often afraid to ask because they're afraid they'll look stupid, and 2) the Debian website is very utilitarian and not marketing oriented, so there's no clear entry point for people who don't already know what they're looking for.
Trying to run a mix of stable and testing packages can be a pain as occasionally a package you want to bring in from testing will try to bring with it new system libraries, which in turn often conflict with the "stable" versions of packages (so you are forced to move a lot more of your system to "testing" packages than you originally wanted to fix this).
The key advantage (at least for me) of using the "backports" repositories is that it avoids this - packages are compiled against the "[yourrelease]" system libraries.
Ubuntu is based on Sid (Debian Unstable).
You can download Debian installers for Testing.
Usually nothing on Testing crashes, as such severe bugs are considered blockers to move a package form Unstable to Testing. (Of course once in a few years something slips through the testing period in Unstable. But it's than usually repaired within a few hours.)
People are running Sid. (Even I personally wouldn't recommend it.)
But one point of the parent I strongly support:
Debian's web page is a mess. I'm using this system for decades but still don't find anything on the Debian page without the help of some search engine. Also, when I need Linux related documentation I go to the Arch Wiki (and sometimes to the Gentoo docs), even as a Debian user. OTOH, you only seldom need docu, because Debian "just works" for the most part.
Ubuntu 22.04
Kernel 5.19 (new installs only, existing installs 5.15)
systemd 249
KDE Plasma 5.24
Gnome 42
Debian 12
Kernel 6.1
systemd 252
KDE Plasma 5.27
Gnome 43