I think the least that distros can do, is allow listing all packages and system settings in config files like .toml
rather than having to type in every single package to install, or click through system setting GUIs to setup. Would that require using a whole programming language or system like NIx?
While NixOS works much differently from most distros, that's the only reason I use it: package and system settings in text files. If I fix something, it's fixed permanently, I don't need to hunt down files in random directories if I want to change a setting. If I ever need to reinstall the OS I don't have to write dnf install every single damn package
and manually setup all that up all over again. Having daily-drove Windows macOS & Fedora as throughout the years, my setups have felt hacky as well as houses of cards as I've wanted or had to set them up again (I don't mean Fedora specifically, but distros in general).
Basically it feels insane that it's the way most linux users and servers in the world operate. If I, a humble computer hobbyist can figure out Nix, why don't more users do so, and why is Nix so niche?
Gentoo is quite happy to allow you to copy your
world
file and config files from one system to another, then just issueemerge --emptytree world
and take a couple of days' vacation somewhere while the system rebuilds itself as specified. That's been an option for as long as I've been using it, so at least 20 years. Other than the speed, the only issue is that you have to know where to find all the config files, of which there may be many distributed across/etc
and~
(and maybe other places if you're really unlucky).(Figuring out how to word the
emerge
command so that it downloads as many binary packages as possible to shorten the wait is left to the interest of the reader.)