Configuration reference
Config file: ~/.config/ssr/ssr.conf (override with --config or $SSR_CONFIG).
The file is sourced by bash but only KEY=VALUE lines (and # comments) are accepted; other content causes ssr to abort.
If SSR_CLOUD_PROVIDER= appears more than once with different values, interactive commands prompt once and rewrite the file to a single line (duplicate same values are merged silently).
Keys
| Key |
Default |
Purpose |
SSR_CLOUD_PROVIDER |
icloud |
icloud | dropbox | googledrive | onedrive | custom |
SSR_CLOUD_PATH |
- |
Absolute path; only when provider is custom |
SSR_BACKUP_SUBDIR |
BACKUP |
Cloud subfolder for per-host backups and Mackup path= (directory= in ~/.mackup.cfg names the mackup/ subfolder) |
SSR_ALLOW_CONF_OVERWRITE |
(unset) |
yes to apply a changed ~/.mackup.cfg without a TTY (after reviewing logged diff); needed for launchd when cloud path changes |
SSR_BREW_UPGRADE |
true |
Run brew upgrade during sync |
SSR_BREW_CLEANUP |
true |
Run brew cleanup after sync |
SSR_SCAN_UNMANAGED_APPS |
true |
Scan for .app bundles not from brew/MAS |
SSR_APP_DIRS |
/Applications:~/Applications |
Colon-separated dirs for unmanaged scan |
SSR_SNAPSHOT_MACOS_PREFS |
true |
Snapshot macOS pref domains during sync |
SSR_MACOS_PREF_DOMAINS |
(built-in set) |
Full override of snapshotted domains (space-separated) |
SSR_MACOS_PREF_DOMAINS_EXTRA |
- |
Extra domains appended to defaults |
SSR_PREFS_CONFLICT_DEFAULT |
accept |
Non-TTY pref conflict: accept or reject |
SSR_ASSUME_YES |
false |
Auto-accept pref-snapshot conflicts on restore |
SSR_DISABLE_GATEKEEPER |
false |
Run spctl --global-disable during restore (security trade-off) |
SSR_OPEN_CASKS |
false |
Open each installed cask after restore |
SSR_MACOS_DEFAULTS |
repo config/macos-defaults.sh |
Path to your own defaults script |
SSR_LAUNCHD_LABEL |
de.surke.ssr.sync |
launchd job label |
SSR_SCHEDULE_HOUR |
9 |
Daily hour (0-23, local) |
SSR_SCHEDULE_MINUTE |
0 |
Daily minute |
SSR_PREFIX |
$HOME/.local/bin |
Symlink install prefix for ssr |
SSR_STATE_DIR |
$HOME/.local/state/ssr |
Internal state |
SSR_LOG_DIR |
$HOME/.local/state/ssr/logs |
launchd logs |
Cloud provider roots
| Provider |
Resolved root |
icloud |
~/Library/Mobile Documents/com~apple~CloudDocs |
dropbox |
~/Library/CloudStorage/Dropbox* (fallback ~/Dropbox) |
googledrive |
~/Library/CloudStorage/GoogleDrive-* |
onedrive |
~/Library/CloudStorage/OneDrive-* |
custom |
SSR_CLOUD_PATH (must be set) |
See config/ssr.conf.example in the repo for the full annotated template.