A small collection of CLI utilities. https://pypi.org/project/tacklebox-cli/
  • Python 86.5%
  • Nix 13.5%
Find a file
cswimr d62432a7c6
All checks were successful
Actions / Build (push) Successful in 37s
Actions / Lint (Python 3.14) (push) Successful in 38s
use stderr.print() instead of echo()
2026-06-14 20:13:50 -04:00
.forgejo/workflows fix workflow secret names 2026-05-23 00:20:32 -04:00
.zed bunch of stuff 2026-05-23 00:13:10 -04:00
tacklebox use stderr.print() instead of echo() 2026-06-14 20:13:50 -04:00
.envrc add flake 2025-05-31 05:24:19 -05:00
.gitignore add .dist to gitignore 2025-05-31 20:42:53 -05:00
flake.lock bunch of stuff 2026-05-23 00:13:10 -04:00
flake.nix bunch of stuff 2026-05-23 00:13:10 -04:00
LICENSE.md add license to readme 2025-06-04 16:48:43 -05:00
pyproject.toml drop unused dependencies; add typer 2026-06-09 13:53:37 -04:00
README.md update readme documentation 2026-06-09 14:35:55 -04:00
renovate.json Configure Renovate (#1) 2025-05-31 20:40:02 -05:00
uv.lock drop unused dependencies; add typer 2026-06-09 13:53:37 -04:00

tacklebox-cli

Actions Status PyPI - Version PyPI - Python Version PyPI - License
tacklebox-cli offers a suite of useful CLI tools.

Usage

tacklebox copy / paste

Cross-platform clipboard management tool. Uses system tools such as wl-copy on Linux Wayland or clip.exe on Windows, and OSC 52 escape codes when copying over SSH or when no other tools are available. See copy_with_tooling() for all supported tools.

$ echo "a" | tacklebox copy --trim && tacklebox paste
a

tacklebox prepend-to-file

Prepend the contents of one file to another, with support for adding a newline automatically and checking if the operation has already been performed on the destination file.

$ echo "template-example" > template
$ echo "hello world" > hello-world.txt
$ tacklebox prepend-to-file template hello-world.txt -n
$ cat hello-world.txt
template-example
hello world

tacklebox find-desktop-entry (Linux only)

Checks all of the paths under $XDG_DATA_DIRS for an application desktop file with the given name. Prints the full path of the desktop file to stdout if found.

$ tacklebox find-desktop-entry kitty
kitty.desktop found in /etc/profiles/per-user/cswimr/share/applications
/etc/profiles/per-user/cswimr/share/applications/kitty.desktop

$ tacklebox find-desktop-entry --read kitty
kitty.desktop found in /etc/profiles/per-user/cswimr/share/applications
# /etc/profiles/per-user/cswimr/share/applications/kitty.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=kitty
GenericName=Terminal emulator
Comment=Fast, feature-rich, GPU based terminal
TryExec=kitty
StartupNotify=true
Exec=kitty
Icon=kitty
Categories=System;TerminalEmulator;
X-TerminalArgExec=--
X-TerminalArgTitle=--title
X-TerminalArgAppId=--class
X-TerminalArgDir=--working-directory
X-TerminalArgHold=--hold