Hi,
I am searching a new Linux distribution for two years now. My short list is Sabotage, Void and Crux. I also taught about Badrock and some docker based ones, but I don't think Badrock has enough power, and docker isn't simple (I always fight with it). I've also tried Alpine,
sta.li, plan9. I'm using Debian (15 years), ArchLinux (2) and Ubuntu (occasionally). I've seen Fedora and Slack a long time ago.
There are very few simple Linux distributions. And by simple I mean how fast can I fix something in case of a problem: (a) app not working as I want, (b) app is missing. The frequency of the last one decreases with time, the first one increases.
Every time I do a recheck of my list I pick Crux first, then I see some disadvantages, I search for alternatives, I find better ones, check deeper, find disadvantages, review the list, see Crux again, and I start the loop again.
The best thing about Crux is the simplicity. And I cannot emphasis this strongly enough. The main disadvantage is the upgrade.
What do you do when you update an app that needs an updated library, which triggers a rebuild of other apps? This could take a couple of days: build times, build failures, big number of apps rebuilds...
Do you rebuild all and install only if all succeeded? What if you find a problem during install? Do you use chroot/vm first? Do you build some apps statically linked?
What if you find a problem after the upgrade? How do you rollback with all those dependencies?
What do you do when you make some changes to a port (disable-x) but you want to survive official upgrades? Isn't maintaining another ports location just for the local machine too much?
How do you go back in time? Do you upgrade the the official ports from git for that?
I am thinking to pick a distro that doesn't stay in my way, with the minimal list of apps installed that can be updated easily and use an external package manager for those apps that may need rollback during upgrades. I've tried pkgsrc (doesn't have a good dependencies list; failed with the first package - notmuch - because bc was missing), linuxbrew (good, but crippled by the cli-only apps policy) and nixpkg (might be perfect because of its pure nature of its packages - doesn't depend on outside apps beside compiler and shell).
How do you do to avoid/solve these problems?