Other than just using a dotfile repo as literal dotfiles, just copying what you’re currently using; the the two intermediate ‘styles’ of dotfile management are:

I currently use yadm. The tradeoff is (unlike stow) you don’t have to keep track of multiple copies/symlinks, but it does mean you have to maintain a huge gitignore to ignore all files you don’t want to commit.

yadm also has a ‘bootstrap’ script, which just makes it nicer to deploy as I’m setting up a new machine.

Above that, is probably using nix to declare more reproducible builds.