Skip to content

feat(tv): enable the four cable channels #21 left commented out - #108

Open
alycda wants to merge 1 commit into
mainfrom
claude/tv-verified-channels
Open

feat(tv): enable the four cable channels #21 left commented out#108
alycda wants to merge 1 commit into
mainfrom
claude/tv-verified-channels

Conversation

@alycda

@alycda alycda commented Aug 17, 2026

Copy link
Copy Markdown
Owner

What

Uncomments the four xdg.configFile entries for jj-log, sqlite,
postgres, and redis in home-manager/modules/tools/television.nix,
and replaces the stale VERIFY LOCALLY comment with what was actually
verified — and what still wasn't.

Why now

#21 added all five channel TOMLs but wired up only cheat.toml. The
commit message gives the sole reason:

Could not run tv in the build sandbox, so the channel schema is unverified

That's a sandbox limitation, not a defect in the TOML — and it's
checkable outside the sandbox. I ran it against television 0.15.9
on aarch64-linux.

What I verified

All five files parse and resolve as channels. The three doubts #21
recorded are settled for 0.15.9:

#21's doubt Result
Might need one channels.toml with [[cable_channel]] No — per-file cable/*.toml is current
Placeholder might be {} not {0} {0} is correct
[metadata]/[source]/[preview] split Current

For jj-log I checked the full path: the source command emits rows
whose first whitespace-delimited token is the short change id, and
jj show <id> accepts that token — so {0} resolves correctly.

What I did NOT verify

  • The macOS config path (~/.config/television vs ~/Library/...).
  • The DB channels' queries. sqlite3, psql, and redis-cli are
    all absent here and there's no live DB. Only their schema was
    checked. This is safe to ship because each declares requirements,
    so it stays inert on a machine without its client.

Both are now stated in the comment instead of being implied by a
commented-out line.

Side effect worth knowing

Anyone who ran the intermediate state has four ~/.config/television/cable
symlinks pointing into a since-GC'd store path, so tv jj-log currently
fails identically to a nonexistent channel. Activating a generation built
from this commit repoints them; hand-patching the profile doesn't survive
a restart.

Test plan

  • just lint (statix + deadnix) clean
  • nix-instantiate --parse OK
  • All five source TOMLs present
  • Post-switch: tv jj-log and tv cheat open on a real machine
  • Post-switch on macOS: confirm the config path

🤖 Generated with Claude Code

#21 added five cable channels but wired up only cheat.toml, commenting
out jj-log/sqlite/postgres/redis with `# unverified`. The stated reason
was the only reason: "Could not run `tv` in the build sandbox, so the
channel schema is unverified." Nothing was wrong with the TOML.

That check is runnable outside the sandbox, so I ran it against
television 0.15.9 in the aarch64-linux dev container. All five files
parse and resolve, and the three specific doubts #21 recorded are all
settled in our favour: the per-file cable/*.toml layout is current (not
the older single channels.toml), the placeholder is `{0}` not `{}`, and
the [metadata]/[source]/[preview] split is right. For jj-log I checked
the whole path end to end — the source command emits rows whose first
token is the short change id, and `jj show <id>` accepts that token.

Left deliberately unverified, and now said so in the comment rather
than implied by a commented-out line: the macOS config path, and the DB
channels' queries (sqlite3/psql/redis-cli are all absent here and there
is no live DB). Only their schema was checked. That is safe to ship
because each DB channel declares `requirements`, so it stays inert on a
machine without its client instead of erroring.

Worth knowing for anyone who ran the intermediate state: because these
four were dropped from the generation, ~/.config/television/cable keeps
four symlinks into a since-GC'd store path, so `tv jj-log` fails
identically to a nonexistent channel. Activating a generation built
from this commit is what repoints them; hand-patching the profile does
not survive a restart.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

⊕ Entity-level changes

home-manager/modules/tools/television.nix

Status Type Name
~ orphan module-level
Δ binding xdg.configFile

Summary: 2 modified across 1 file (1 modified orphan)

functions and classes, not lines · sem

@alycda
alycda marked this pull request as ready for review August 17, 2026 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant