I just use a “dotfiles” folder that is a git repo and then hard-link the files in there into the home directory. One for unprivileged user and one for root on each platform. Simple enough and doesn't require an extra tool.
How do you handle differences between machines?
I use cheznoi to manage my dotfiles and share them between 6 different devices, 2 of them are work machines.
On my work machine I have maybe a 15% difference in config, primarily my hotkeys through keymapper, my SSH config files, and also the applications I have installed. Chezmoi let's me add logic to my source controlled config files that, based on the hostname/domain/network, etc let's me ouput different settings to the .config files, which I cannot do in the config files themselves.
For example:
On my home machine I have the following keymapper hotkey:
Windows + T: Activate Telegram
On my work machine that's mapped to:
Windows + T: Activate Teams
For example: On my home machine I have the following keymapper hotkey: Windows + T: Activate Telegram On my work machine that's mapped to: Windows + T: Activate Teams