

I’ve been happy with GNU Stow. Super simple and clean. I keep all the files in ~/stow and follow this workflow. You can avoid the git bits if you want and update ~/stow however you want.
cd ~/stow
# pull latest changes from git provider for syncing
git fetch
git status
git pull
# if made any edits and wanted to push them
git add .
git push origin main
# do a dry run of stow just to make sure it won't do anything weird
stow -n -v --no-folding .
# do a real run of stow if nothing is wrong
# note: --no-folding prevents folders from becoming symlinked, only files will be symlinks,
# this prevents unintended files from going into ~/stow
stow -v --no-folding .



I use it pretty often to keep my desktop, laptop, and server configs in sync.
To setup new systems, I created this bash script: https://lemmy.world/post/41584520/21545156
Then I would run the commands in my original post to create the symlinks.