Files
System-Sync-Restore/README.md
T
Oliver Surke 7dabcdd71e Update README for clarity and structure
- Revised the introduction to emphasize the workflow of the `ssr` tool.
- Reformatted the backup and restore commands into a table for better readability.
- Enhanced the documentation on installation and configuration steps.
- Clarified the requirements section and streamlined the installation instructions.
- Added a quick reference section for CLI commands to improve user accessibility.
2026-05-13 20:11:41 +02:00

88 lines
3.4 KiB
Markdown

# 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/osurke/system-sync-restore/wiki](https://git.surke.de/osurke/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
```bash
git clone https://git.surke.de/osurke/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`:
```bash
export PATH="$HOME/.local/bin:$PATH"
```
---
## CLI (quick reference)
```text
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.sh``ssr restore`. Details: [Quick-start](https://git.surke.de/osurke/system-sync-restore/wiki/Quick-start), [Backup-structure-and-sync](https://git.surke.de/osurke/system-sync-restore/wiki/Backup-structure-and-sync).
---
## Wiki index
| Topic | Wiki |
|--------|------|
| Install & first steps | [Quick-start](https://git.surke.de/osurke/system-sync-restore/wiki/Quick-start) |
| Command list | [Commands](https://git.surke.de/osurke/system-sync-restore/wiki/Commands) |
| Cloud layout, unmanaged apps, macOS pref snapshots | [Backup-structure-and-sync](https://git.surke.de/osurke/system-sync-restore/wiki/Backup-structure-and-sync) |
| `ssr.conf` and cloud paths | [Configuration-reference](https://git.surke.de/osurke/system-sync-restore/wiki/Configuration-reference) |
| launchd, logs, `ssr update` | [Scheduling-logging-and-updates](https://git.surke.de/osurke/system-sync-restore/wiki/Scheduling-logging-and-updates) |
| Tab completions | [Shell-completions](https://git.surke.de/osurke/system-sync-restore/wiki/Shell-completions) |
| Security, uninstall, legacy scripts | [Security-Uninstall-and-Migration](https://git.surke.de/osurke/system-sync-restore/wiki/Security-Uninstall-and-Migration) |
| Repo tree | [Repository-layout](https://git.surke.de/osurke/system-sync-restore/wiki/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:
```bash
git clone https://git.surke.de/osurke/system-sync-restore.wiki.git
```
---
## License
MIT — see [LICENSE](LICENSE).