Oliver Surke 421b802467 fix(mackup): update backup path and enhance configuration handling
- Corrected the backup path in the `_in_backup` function to reflect the new structure under `mackup/`.
- Improved error handling in `ssr::mackup::configure` to skip restore if the configuration file is not updated, providing user feedback.
- Updated `ssr::sync` to conditionally execute backup based on configuration validity, enhancing robustness.
- Revised documentation in configuration examples to clarify the new Mackup directory structure and its implications for users.
2026-05-13 20:17:50 +02:00
2026-05-11 15:05:17 +02:00
2026-05-11 15:05:17 +02:00
2026-05-11 15:05:17 +02:00
2026-05-11 15:05:17 +02:00
2026-05-11 15:05:17 +02:00

ssr — System Sync & Restore for macOS

Reproducible macOS setup in one workflow: snapshot your Homebrew bundle and application configs to a cloud drive on a schedule, then rebuild a fresh Mac from that snapshot.

Action Command
Backup ssr sync — Brewfile + Mackup copy to cloud (no symlinks by default)
Restore ssr restore — Homebrew, Brewfile, Mackup, macOS defaults
Schedule ssr schedule on — daily launchd job
Legacy Mackup symlinks Run ssr mackup unlink once if you previously used mackup link

Full documentation (configuration tables, pref snapshots, logs, security, migration):
Wiki → https://git.surke.de/os-mnemo/System-Sync-Restore/wiki

Successor to system_sync.sh / system_restore.sh. Same intent, modernized modular tooling.


Requirements

  • macOS (Apple Silicon or Intel), Bash 3.2+, network for Homebrew bootstrap
  • A cloud folder you control (iCloud is the default provider)

Install

git clone https://git.surke.de/os-mnemo/System-Sync-Restore.git ~/.ssr
cd ~/.ssr
./install.sh

Symlinks ssr into ~/.local/bin (override with SSR_PREFIX), seeds ~/.config/ssr/ssr.conf, optionally enables daily sync. If ~/.local/bin is not on PATH:

export PATH="$HOME/.local/bin:$PATH"

CLI (quick reference)

ssr install               Link binary, seed config, optional schedule
ssr sync                  Backup → cloud
ssr restore [Brewfile]    Restore; Brewfile defaults to cloud copy
ssr update [--dry-run]    Git pull + launchd refresh when needed
ssr schedule on|off      Daily launchd job
ssr config show|edit      Config file
ssr completions install   zsh / bash / fish
ssr status                Summary
ssr version

New machine: clone → ./install.shssr restore. Details: Quick-start, Backup-structure-and-sync.


Wiki index

Topic Wiki
Install & first steps Quick-start
Command list Commands
Cloud layout, unmanaged apps, macOS pref snapshots Backup-structure-and-sync
ssr.conf and cloud paths Configuration-reference
launchd, logs, ssr update Scheduling-logging-and-updates
Tab completions Shell-completions
Security, uninstall, legacy scripts Security-Uninstall-and-Migration
Repo tree Repository-layout

Contributing docs

Edit the wiki repository (System-Sync-Restore.wiki) for user-facing guides; keep this README as the short landing page and link hub. Example clone:

git clone https://git.surke.de/os-mnemo/System-Sync-Restore.wiki.git

License

MIT — see LICENSE.

S
Description
No description provided
Readme MIT 411 KiB
Languages
Shell 100%