{ config, lib, ... }: with lib; let cfg = config.features.cli.television; in { options.features.cli.television.enable = mkEnableOption "enable nitch"; config = mkIf cfg.enable { programs.television = { enable = true; channels = { tldr = { metadata = { description = "Browse TLDR pages"; name = "tldr"; requirements = [ "tldr" ]; }; preview = { command = "tldr '{}'"; }; source = { command = "tldr --list"; }; }; git-diff = { metadata = { description = "A channel to select files from git diff commands"; name = "git-diff"; requirements = [ "git" ]; }; preview = { command = "git diff HEAD --color=always -- '{}'"; }; source = { command = "git diff --name-only HEAD"; }; }; git-log = { metadata = { description = "A channel to select from git log entries"; name = "git-log"; requirements = [ "git" ]; }; preview = { command = "git show -p --stat --pretty=fuller --color=always '{0}'"; }; source = { command = "git log --oneline --date=short --pretty=\"format:%h %s %an %cd\" \"$@\""; output = "{split: :0}"; }; }; }; }; }; }