@bookwar @zbyszekThe package building segment really grinds my shattered heart debris into the asphalt. Like, wouldn’t it be nice if, upon finding out your chrony is compiled without a feature you need, you could just quickly take a custom one compiled --with-missing-feature for a spin? Take a dive from the system configuration language and right into the intricacies of its autotools-driven compilation process? Guess what, that’s a long-solved problem as well, and all you need is something like:
systemd.services.chrony.Exec = "${pkgs.chrony.overrideAttrs (old: { configureFlags = old.configureFlags ++ [ "--with-missing-feature" ];})}/bin/chrony";
Imagine that once you wrote such an override, you can put it into different places of your configuration and beyond, and the scope will change accordingly. It can become a dependency of a customized revdep. It can go into the package set and all the revdeps will be recompiled and re-tested against it. Or just to the unit, no rebuilding needed. Or it can go into a separate unit without affecting the main chrony. A development environment. A throwaway shell definition. Your .bashrc. A set of packages available for a specific user only. Or, IDK, if you could place that systemd unit into a lightweight diskless VM by cutting and pasting the line into a VM.
Now imagine having all of that at your disposal for years and then seeing a post that from a person who’s apparently naturally so great at designing distros that he goes on a short tangent in a post about configuration systems and independently arrives at a vision of hermetic, reproducible, declaratively-built, autogenerated from upstream package building recipes… just to stop right there and deny them external customizability?
That’s exactly how flummoxed I am at the idea that key-value settings are somehow enough to design an OS configuration system around. I mean, yes, yes you can overhaul the entire philosophy of how an OS gets configured, effectively designing a new distro around a brand-new configuration system, yet stop just an inch away of making it customizable for real. Not that I could stop you. Just… why.