feat: download and install extra DMG/PKG/ZIP installers during restore

Adds a simple config file (~/.config/ssr/extra-installers.txt) where
users can list installer URLs for apps not available on Homebrew or MAS
(e.g. EasyMCP Desktop, internal tools).

lib/installers.sh:
  - Supports .dmg (mount → cp .app or run .pkg), .pkg, .zip
  - Skips entries already present in /Applications
  - Non-fatal: logs warnings and continues on failure

ssr sync:  copies extra-installers.txt to <backup_dir> alongside Brewfile
ssr restore: new `extra_installers` resumable step runs after shell_deps

Format: optional-name <url>   (# comments and blank lines ignored)
Example entry:
  EasyMCP https://github.com/Adobe-AIFoundations/easymcp/.../EasyMCP-Desktop-3.0.3-arm64.dmg

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-12 10:33:56 +02:00
parent 371dea1851
commit 72516b864c
5 changed files with 271 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# extra-installers.txt — additional installers not available via Homebrew or MAS.
#
# Copy this file to ~/.config/ssr/extra-installers.txt and add your URLs.
# It is backed up to the cloud alongside your Brewfile on every `ssr sync`.
#
# Format (one entry per line):
# [optional-name ]<url>
#
# Supported types: .dmg .pkg .zip
# Lines starting with # and blank lines are ignored.
#
# The installer is skipped if an app with a matching name is already
# present in /Applications or ~/Applications.
#
# ─────────────────────────────────────────────────────────────────────────────
# EasyMCP Desktop (Adobe AI Foundations)
EasyMCP https://github.com/Adobe-AIFoundations/easymcp/releases/download/v3.0.3/EasyMCP-Desktop-3.0.3-arm64.dmg
# Add your own entries below:
# SomeApp https://example.com/SomeApp-1.2.dmg
# AnotherTool https://builds.example.com/tool-latest.pkg