If you're mostly on Linux/Mac I can strongly recommend using a dotfiles repository containing all of your config files and a script that you can run to create symlinks to all of these files in the correct places.
With small tweaks like a non-symlinked file that contains only machine local variables (I call mine .bashrc.local and source it from the main bashrc), you can evem make the configs vary across machines on the subtler things.
This works wonders for me getting custom configs everywhere, with the exception of windows machines that are always a huge headache to work with.
A good example is how ls now adds fake quote characters if your file listing has spaces in it. As someone who mastered the Tab key ages ago those quotes are useless visual noise and I find myself typing them occasionally because I forgot. You can set an environment variable to disable them, but I have to to look it up each time and you have to do it on every new machine.
Edit: the magic environment variable is: