fix(mackup): safer defaults + recovery after broken symlink sync

- Default-off SSR_MACKUP_PRESYMLINK for DynamicProfiles pre-symlink (was
  risking empty/wrong iCloud trees and breaking iTerm2).
- Remove incorrect skip entries: built-in cfgs use different paths than
  ~/.zsh, ~/.vscode*, ~/.iterm2 — skipping hid real overlap from scan only
  but the presymlink change was the main footgun.
- Add `ssr mackup unlink` → `mackup -f link uninstall` to copy configs back
  from Mackup storage and drop symlinks (official undo).
- Docs: ssr.conf.example, README sync/restore wording, completions.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-12 20:09:23 +02:00
parent ccc1db1e93
commit 51fb589ef2
8 changed files with 71 additions and 42 deletions
+3 -3
View File
@@ -27,14 +27,14 @@ Usage:
Commands:
install First-time install: links binary, seeds config, schedules sync.
sync Run a backup: brew bundle dump + mackup backup → cloud.
restore [Brewfile] Restore a machine: brew bundle + mackup restore + macOS defaults.
sync Run a backup: brew bundle dump + mackup link install → cloud.
restore [Brewfile] Restore a machine: brew bundle + mackup link + macOS defaults.
update [--dry-run] Pull latest ssr code, refresh launchd if needed.
schedule on|off Enable/disable the scheduled launchd sync job.
config show|edit Print or edit the active config file.
completions Install or remove shell completions (zsh/bash/fish).
status Show last sync time, cloud target, and scheduled state.
mackup scan|list|clean Manage auto-generated Mackup app definitions.
mackup scan|list|clean|unlink Mackup ssr-*.cfg helpers + symlink revert.
version Print version.
Options: