Dotfiles Synchronizer
A background service that commits and pushes my config files to git each time they change.
What it does
A background service that watches my config files. When a file changes, it commits the change to a git repo and pushes it. My config was always backed up, with its full history.
It has 22 stars.
How it works
You list the directories and files in ~/.config/synchronization_targets.json. A systemd service polls them every 0.5 seconds. It commits each change, but it pushes at most once every 30 seconds, to stay below rate limits.
An option writes the commit messages with the OpenAI API. That was in January 2024, before agents.
Limits
It works only with systemd. The repo must use SSH, because the service cannot type a password.