Long story short: I've used only distributions with "imperative configuration management/packaging" approach, so far. And,... I'm annoyed by hard to trace breakages/issues with imperative configuration management (when experimenting).
I've found NixOS, which advertises:
NixOS has a completely declarative approach to configuration management: you write a specification of the desired configuration of your system in NixOS’s modular language, and NixOS takes care of making it happen.
I'm considering to use NixOS as my main desktop operating system, and store configuration in GIT repository.
So, is NixOS configuration gittable? Can I "define" my main operating system configuration by git repository (proabbly with some "apply" commands)?