Machine configuration
~/.config/dotsync/config.json holds the settings for one machine. It’s never synced. dotsync init creates it, and init, exclude and include change it; you can also edit it by hand. It’s under $XDG_CONFIG_HOME if you’ve set that.
{ "remote": "git@github.com:you/dotfiles.git", "branch": "main", "interval": 300, "exclude": []}{ "remote": "git@github.com:you/dotfiles.git", "branch": "main", "interval": 600, "exclude": ["karabiner/karabiner.json"], "on_existing": "conflict", "backup_retention_days": 30, "notifications": false}| Field | Default | Description |
|---|---|---|
remote |
URL of the shared repository, as you’d pass it to git clone |
|
branch |
main |
branch to sync. Set with init --branch |
interval |
{ref.defaults.interval} |
seconds between background syncs. Set with init --interval; after editing it by hand, run dotsync agent install |
exclude |
[] |
sources of manifest entries this machine doesn’t manage. Their local files are left alone. Change with dotsync exclude and include |
on_existing |
"remote" |
what happens the first time an entry syncs here and a different local file already exists. "remote" backs it up and installs the shared version; "conflict" leaves it untouched and reports a conflict. init --keep-existing sets "conflict"; to go back, remove the field |
backup_retention_days |
{ref.defaults.backup_retention_days} |
backups older than this many days are deleted, once a day, except the most recent backup of each file, which is always kept. 0 keeps everything |
notifications |
true |
false turns off the background agent’s desktop notifications on this machine |
The file is only readable by you (mode 0600). If it isn’t valid JSON, every command stops with an error naming the file.