Scheduling, logging, and updates
launchd schedule
Default label: de.surke.ssr.sync (SSR_LAUNCHD_LABEL). Hour/minute: SSR_SCHEDULE_HOUR, SSR_SCHEDULE_MINUTE.
Logs
Logs: $SSR_LOG_DIR/sync.out.log and sync.err.log.
launchd-level inspection:
Updating (three layers)
1. Tool code (this repository)
- Refuses dirty working tree or detached HEAD.
- Fast-forward only.
- Re-renders and reloads launchd plist if
launchd/ or bin/ssr* changed and schedule is on.
- Prints new config keys when
config/ssr.conf.example gains options.
2. Backup data (cloud)
Refreshed by scheduled ssr sync. Previous Brewfile kept as Brewfile.bak; deeper history = your cloud provider's versioning.
3. Homebrew / Mackup
ssr sync runs brew upgrade / brew cleanup when SSR_BREW_UPGRADE / SSR_BREW_CLEANUP are true (defaults). Set to false in ssr.conf to snapshot without auto-upgrading packages.