Someone should make one of those "self-hosting operating systems" but it's nixOS under the hood
Whenever you install a new application, it auto-generates a .nix file that is yours to edit and keep, and then re-builds the current configuration with that new change included
If you ever want to move away, disabling all the fancy UI and whatnot is just removing one import and the nixOS configuration is yours to take and iterate upon.
because of the nature of nixOS, you'd have the ability to roll back, and with some clever software infra, you can have the nix store not be littered with too many generations
You could optionally hook up this configuration to a git repository, and have it sync across devices that way, as well as being able to rollback using Git by checking out, resetting to a commit or reverting a commit (if you wish to do so)
due to the nature of nix, the entire thing would be quite resilient to random breakage, as long as all your software is managed by nix/nixOS



