GOG Dormant Game Sweep
Automated workflow: find installed GOG games not played recently → email report → add Apple Reminders.
Quick Start
python3 scripts/sweep.py --library config/gog_library.json --email john.doe@example.com
Script: scripts/sweep.py
Arguments
| Flag | Default | Description |
|---|---|---|
--library | config/gog_library.json | Path to GOG library JSON |
--days | 30 | Dormancy threshold (days) |
--email | None | Recipient email (required unless --no-email) |
--himalaya-account | personal | Himalaya account to send from |
--reminders-list | Gaming | Apple Reminders list name |
--no-email | false | Skip email |
--no-reminders | false | Skip reminders |
--dry-run | false | Print report only, no side effects |
Library JSON Format
Expects the same schema as config/gog_library.json: an object with a games array where each game has name, installed (bool), last_played (ISO 8601 or null), and install_path.
Workflow
- Parse library JSON → filter
installed: truegames wherelast_playedis older than--days(or null/never) - Compose email body with game list and send via
himalaya message write - For each dormant game, run
remindctl add --title "Consider uninstalling: <name>" --list <list>
Example
Full run with all options:
python3 scripts/sweep.py \
--library config/gog_library.json \
--days 30 \
--email john.doe@example.com \
--himalaya-account personal \
--reminders-list Gaming
Dry run to preview:
python3 scripts/sweep.py --dry-run --days 60