I think Nixos and a nas would for your need.
This is what I'm doing, I have two laptop, one for work at my office and one at home for work/hobbies.
I have a nixos config synced on github with all my of is configuration, package list extensions ...Some of the config is specific to each laptop like the part related to the hardware and steam, games stuff only on my home computer. The rest is the config is shared and all my files synced on my NAS.
So whenever I change something on one the change is reflected in the other. I really enjoy this setup and I'm thinking of adding my server in it too.