ff-logo
Pick a custom image logo for fastfetch interactively, using fzf.
Requirements
| Tool | Purpose |
|---|---|
fastfetch |
System info display (must be built with image support) |
fzf |
Interactive selection |
imagemagick |
Image dimension detection (identify) |
chafa or kitty terminal |
Image rendering |
ff-logo will detect missing dependencies and offer to install them automatically.
Platform support
- macOS (Homebrew)
- Arch Linux / CachyOS (pacman)
- Debian / Ubuntu (apt)
Quick start
git clone https://github.com/youruser/ff-logo.git
cd ff-logo
./ff-logo
On first run, ff-logo checks that fastfetch is installed and has image support. If not, it offers to run bootstrap-fastfetch.sh for you.
Install to PATH
./ff-logo --install
Choose between ~/.local/bin (no sudo), /usr/local/bin, or /usr/bin.
fastfetch image support
Most distro packages of fastfetch are compiled without chafa/ImageMagick support. If ff-logo warns you about this, build fastfetch from source with:
./bootstrap-fastfetch.sh
This installs build dependencies, compiles fastfetch, and places the binary at /usr/local/bin/fastfetch. On macOS it also symlinks the brew-installed chafa and ImageMagick libraries so fastfetch can find them at runtime.
CachyOS / Arch users: the
fastfetchpackage from the repos usually lacks image support. Runbootstrap-fastfetch.shonce.
Image directory
ff-logo looks for images in this order:
LOGO_DIRset in~/.ff-logo(config file)~/.local/share/fastfetch-images(XDG local dir)~/Pictures
PNG, JPG, and JPEG files are supported.
Configuration
ff-logo -e # create/open ~/.ff-logo in $EDITOR
Config file (~/.ff-logo) is a sourced bash file:
# Directory containing logo images
LOGO_DIR="$HOME/Pictures/fastfetch-logos"
# Maximum logo size in terminal columns/rows
MAX_W=83
MAX_H=44
# Skip the renderer prompt (chafa or kitty)
DEFAULT_RENDERER=chafa
If no config exists, ff-logo will offer to create one on first run.
Usage
ff-logo [options]
Options:
-e, --edit Create/edit ~/.ff-logo in $EDITOR
--install Install ff-logo to a bin directory
-h, --help Show help
Running ff-logo with no arguments:
- Checks dependencies (offers to install missing ones)
- Verifies fastfetch has image support (offers to run bootstrap if not)
- Shows an fzf picker of images in your logo directory
- Prompts for a renderer (
chafaorkitty) unlessDEFAULT_RENDERERis set - Writes the selection to
~/.config/fastfetch/logo-localand runs fastfetch
Integrating with fastfetch
Add something like this to your fastfetch config or shell profile to use the saved logo:
# ~/.config/fastfetch/config.jsonc (logo-local is written by ff-logo)
Or call fastfetch directly referencing logo-local — see the fastfetch docs for config options.