Select the types of activity you want to include in your feed.
tools.flix-prune: report + prune sonarr series by size and jellyfin watch state
also document why transmission-gc talks to 128.0.0.1: the daemon runs in its own netns (t1), the gc unit does not (t2), so localhost is not the daemon.
···11+bin "flix-prune"
22+about "Report disk usage per Sonarr series (joined with Jellyfin watch data) and delete/unmonitor them without leaving Sonarr re-downloading"
33+44+cmd "list" help="Show series by size on disk, with Jellyfin watch info" {
55+ flag "--untouched" help="Only series nobody ever started watching"
66+ flag "--min-size" help="Skip series smaller than N GiB" {
77+ arg "<gib>"
88+ }
99+ flag "--json" help="Emit raw JSON instead of a table"
1010+}
1111+1212+cmd "delete" help="Delete files, remove the series from Sonarr and exclude it from import lists" {
1313+ arg "<series>..." help="Series title (exact, case-insensitive) or Sonarr id"
1414+ flag "--yes" help="Actually delete; without it only a dry-run report is printed"
1515+ flag "--keep-exclusion" help="Do not add an import list exclusion"
1616+}
1717+1818+cmd "unmonitor" help="Stop Sonarr from grabbing more episodes but keep existing files" {
1919+ arg "<series>..." help="Series title (exact, case-insensitive) or Sonarr id"
2020+}
2121+2222+flag "--sonarr-url" help="Sonarr base URL (default http://127.0.0.1:8989, env SONARR_URL)" {
2323+ arg "<url>"
2424+}
2525+flag "--jellyfin-db" help="Jellyfin library db (default /var/lib/jellyfin/data/jellyfin.db, env JELLYFIN_DB)" {
2626+ arg "<path>"
2727+}
···6363 ];
6464 script = ''
6565 set -efu
6666+ # transmission lives in its own netns (t1 = 128.0.0.1/30), this unit runs
6767+ # outside it (t2 = 128.0.0.2), so localhost is *not* the daemon here.
6668 TRANSMISSION_HOST="128.0.0.1:9091"
6769 MAX_AGE_DAYS=30
6870 MIN_RATIO=5.0