Nymph is a tiny, lightweight “fetch” utility written in Nim.
- Kitty graphics protocol support: drop a PNG logo in the
logos/directory (or$NYMPH_LOGO_DIR) and it will render in terminals that support the kitty graphical protocol. - Self-scaling PNG rendering with configurable maximum width (default 200px) to keep the stats aligned.
- Built-in ASCII fallback logo, so output still looks good on terminals without Kitty graphics protocol support.
- Simple key=value config file (
~/.config/nymph/config.conf) is generated on first run; tweak logo size, stats offset, or point to a custom logo path. - Reasonable defaults: automatically selects a logo based on
/etc/os-release,$NYMPH_LOGO, or falls back to the generic art.
- Install Nim/nimble.
- Build and run:
or
nimble release
nim c -r src/nymph.nim
- Optional CLI/env overrides:
--logo foo/-logo fooforces a specific logo name.--logo /full/path.pngloads a specific PNG directly.--no-color/--no-colorsdisables ANSI colors in the stats output.NYMPH_LOGO=fooorNYMPH_LOGO_DIR=/path/to/logoschange selection/search paths.
- Edit
~/.config/nymph/config.confto adjust:maxwidth(pixels to reserve for the logo, default 200)statsoffset(starting column for stats, default 22+auto padding)nocolor(true/false to disable ANSI colors)customlogo(full path to a PNG)
integrate it into shell startup scripts or keybindings as you like.
- PNG logos: Place files named
<name>.pnginside any of the following (searched in order):- Source
logos/(shipped with the app) - Project
logos/ ~/.config/nymph/logos(auto-created on first run)$NYMPH_LOGO_DIR<app_dir>/logosand<app_dir>/../share/nymph/logos
- You can also set a one-off
customlogopath inconfig.conf.
- Source
- Scaling: PNG logos are self-scaling up to the configured maximum width.
- Fallback: If no PNG is found or Kitty graphics protocol aren’t available, Nymph displays the built-in ASCII “generic” logo.
MIT — see LICENSE.
