GOG Dormant Game Cleanup
Automated workflow to surface idle installed GOG games and nudge the user to consider uninstalling.
Workflow
- Scan the GOG library JSON for installed games whose
last_playedis older than the cutoff (default 30 days). - Email a formatted summary to the user's personal himalaya account.
- Remind by adding each dormant game to Apple Reminders under the
Gaminglist.
Script
Run scripts/gog_dormant_cleanup.sh:
scripts/gog_dormant_cleanup.sh <cutoff_days> <library_json> [himalaya_account] [reminders_list]
| Parameter | Default | Description |
|---|---|---|
| cutoff_days | 30 | Days of inactivity to qualify as dormant |
| library_json | (required) | Path to GOG library JSON (see config format below) |
| himalaya_account | personal | Himalaya account name for sending email |
| reminders_list | Gaming | Apple Reminders list name |
Environment Variables
DRY_RUN=1— print actions without sending email or creating reminders.
GOG Library JSON Format
The script expects a JSON file with this structure:
{
"games": [
{
"name": "Game Title",
"installed": true,
"last_played": "2026-03-28T19:45:00",
"install_path": "/path/to/game"
}
]
}
Games with installed: false are skipped. last_played may be null (never played).
Prerequisites
jq— JSON parsinghimalaya— email delivery (optional; skips email if absent)remindctl— Apple Reminders (optional; skips reminders if absent)
Scheduling
To run weekly via cron:
# Every Monday at 9 AM
0 9 * * 1 /path/to/gog_dormant_cleanup.sh 30 /path/to/gog_library.json
Or use OpenClaw's cron tool for managed scheduling.