stow is nice, but it's too basic once you start managing your homedir in earnest across multiple machines and need machine-specific configurations, secrets, etc.
I prefer homeshick[0], a Bash port of homesick[1] (which is Ruby).
[0] https://github.com/andsens/homeshick [1] https://github.com/technicalpickles/homesick