On my systems I prefer to build to run updates and rebuild my system locally.
This means that changes are always end up being deployed threw a nixos-rebuild
on machine locally. That being the case it means I can easily have the
configuration for each machine locally on the machine if I want. At the same
time many of my machines repeat the same bits of configuration that I like to
have across multiple if not all of my machines. Such common config can live
somewhere all my machines can easily access it to pull it down for used in local
builds.
Keep some config a common location (this repo) and some locally on each machine.
To avoid repeating code any config should be in the common location if it meets these conditions.
Benefits
Benefits