Skip to content
Takshak Mudgal

Terminal tools

Five Rust programs I wrote for my own Mac, from database backups to WhatsApp. Each one installs from my Homebrew tap.

Tools
5
Lines of Rust
31,085
Tests
337
brew install takshakmudgal/tools/{siphon,groom,snag,wa-tui,ejector}

From takshakmudgal/homebrew-tools. Every formula builds from source with cargo.

  • siphon

    Database dumps and restores from one terminal UI.

    Backs up Postgres, MySQL and MariaDB, MongoDB, SQLite and Redis, and finds the databases already running in Docker. You need no client tools: if pg_dump is missing, siphon runs it in a throwaway container. Every action is read-only except restore, and on macOS a restore asks for your login password first.

    v0.5.2, released 29 Jul 2026. 223 tests, 13,625 lines of Rust, macOS and Linux.

    Keys

    d
    dump now
    R
    restore a dump
    I
    import a file
    i
    import a detected container
    a
    auto-backup schedule
    t
    test and refresh stats
    r
    rescan Docker
    n
    new connection
  • groom

    A Mac cleanup tool that knows what is safe to delete.

    Thirteen tabs for keeping a Mac honest: vitals, dotfiles, CLI tools, apps, caches, build artifacts, installers, a disk analyzer, maintenance, diagnostics, drives, launch agents and listening ports. It traces each binary to the package manager that installed it and removes it through that manager. Everything else goes to the Trash.

    v0.1.0, released 12 May 2026. 67 tests, 8,263 lines of Rust, macOS.

    Keys

    space
    mark
    T
    apply the plan
    U
    uninstall or unload
    A
    mark all orphans
    c
    clean caches
    e
    eject a drive
    x/X
    SIGTERM or SIGKILL
    tab
    next tab
  • ejector

    Names the process that keeps your drive busy.

    The “disk is in use” dialog, with answers: ejector lists mounted volumes, finds every process holding files open on them and lets you stop the process and eject the drive, one keystroke each.

    v0.1.1, released 26 May 2026. 40 tests, 2,674 lines of Rust, macOS.

    Keys

    x
    SIGTERM
    X
    SIGKILL
    e
    eject
    o
    reveal in Finder
    r
    rescan
    tab
    switch pane
  • snag

    A download manager with a Chrome extension.

    Video from the sites yt-dlp supports, direct files split into parallel byte ranges that resume after a dropped connection, and torrents through aria2. A Chrome extension hands links to the native binary through native messaging.

    v0.1.0, released 11 May 2026. 7 tests, 2,109 lines of Rust, macOS.

    Commands

    snag get
    download URLs
    snag probe
    list formats
    snag install-host
    connect the extension
  • wa-tui

    WhatsApp in the terminal.

    Pair once with a QR code and chat from the terminal: new chats, replies, reactions, edits, attachments and search. The session lives in a local SQLite file and every chat is saved as plain JSONL on your machine.

    v0.1.0, released 11 May 2026. No tests yet, 4,414 lines of Rust, macOS and Linux.

    Keys

    ctrl+n
    new chat
    ctrl+f
    search
    ctrl+a
    attach
    ctrl+e
    export
    r
    reply
    e
    react