---
title: leenfetch
section: 1
header: Manual
footer: leenfetch 1.4.1
---
# leenfetch — User Commands
## NAME
leenfetch — a modern, minimal, and the fastest system info tool, written in Rust.
## SYNOPSIS
```
leenfetch [OPTIONS]
```
## DESCRIPTION
**leenfetch** is a modern, fast, and highly configurable system information tool written in Rust. It displays system information alongside a distribution logo, custom ASCII art, or a local image logo, similar to Neofetch, and is designed for both terminal enthusiasts and new users. It can also fetch data from remote hosts over SSH and render it locally in pretty or JSON form.
Configuration lives in a single JSON-with-comments file (`config.jsonc`), with inline explanations for every option.
leenfetch can also accept **piped input** to render as ASCII art. This allows users to display custom text logos via standard input.
## OPTIONS
- `-v`, `--version`
Print version information and exit.
- `-h`, `--help`
Show usage information and exit.
- `-l`, `--list-options`
List all configuration keys and accepted values.
- `-i`, `--init`
Open the config chooser when no config exists, then write the selected preset.
- `--choose-config`
Open the config chooser and overwrite the existing config after confirmation.
- `-r`, `--reinit`
Delete the configuration file and regenerate it with bundled defaults.
- `--config <PATH>`
Load configuration from a custom JSONC file.
- `--no-config`
Ignore files and run with built-in defaults.
- `--ascii_distro <DISTRO>`
Override the ASCII art distribution for this run (e.g., `arch`, `ubuntu`, `debian`).
- `--ascii_colors <COLORS>`
Override the ASCII palette (comma-separated indices such as `1,2,3,4,5,6,7` or `distro`).
- `--custom_logo_path <PATH>`
Use a custom ASCII art file or image path for this run.
Local terminals with kitty-style image support show the image inline; others fall back to ASCII with a warning.
- `--color_blocks <GLYPH>`
Change the glyph used for the color swatch (default: `●`).
- `--battery_display <MODE>`
Switch battery output between `off`, `bar`, `infobar`, and `barinfo`.
- `--disk_display <MODE>`
Select disk output as a comma-separated list of `info`, `percentage`, and `bar`.
- `--disk_subtitle <MODE>`
Choose disk labels (`name`, `dir`, `none`, `mount`).
- `--disk_percent <true|false>`
Show or hide disk usage percentage.
- `--disk_show <PATH>`
Which disks to display (comma-separated mount points or paths).
- `--memory_unit <UNIT>`
Force memory units (`kib`, `mib`, `gib`).
- `--package_managers <MODE>`
Control package summaries (`off`, `on`, `tiny`).
- `--uptime_shorthand <MODE>` / `--os_age_shorthand <MODE>`
Pick shorthand (`full`, `tiny`, `seconds`).
- `--distro_shorthand <MODE>`
Set OS detail level (e.g., `name`, `name_version`, `name_model_arch`).
- `--cpu_temp <UNIT>`
Select CPU temperature units (`C`, `F`, or `off` to hide).
- `--gpu_brand <true|false>`
Show or hide GPU vendor name.
- `--gpu_type <TYPE>`
Which GPU to show (`all`, `dedicated`, `integrated`).
- `--kernel_shorthand <true|false>`
Shorten kernel output.
- `--speed_shorthand <true|false>`
Show CPU speed without decimals.
- `--format <pretty|json>`
Choose human-readable pretty output (default) or machine-readable JSON.
- `--ssh <HOST>...`
Fetch system info from one or more hosts via SSH, then render locally. Each host runs `leenfetch --format json` remotely; the output is printed locally using the requested format.
- `--print_config`
Print the default configuration to stdout and exit.
- `--only <LIST>`
Render only the listed modules (comma-separated).
- `--hide <LIST>`
Hide specific modules (comma-separated).
- `--disable <LIST>`
Alias for `--hide`.
- Boolean toggles use a single flag with an explicit value, for example `--cpu_speed true`, `--shell_path false`, or `--memory_percent true`.
## REMOTE FETCHING OVER SSH
`--ssh` lets you pull data from remote hosts and render it locally. **leenfetch** connects with your system SSH client, runs `leenfetch` on each target, parses the remote payload, and prints either pretty text (default) or JSON (`--format json`).
- Requirements: the remote host must have `leenfetch` in `PATH`.
- Uses your SSH config/agent, honoring usernames/ports in the target string; a short connect timeout is applied.
- Per-host ASCII art, colors, module order, and toggles come from the remote machine's effective config.
- If the remote config file is missing, the remote host falls back to the Neofetch-style preset.
- JSON mode prints one JSON object per host (separated by blank lines).
## CONFIGURATION
leenfetch uses a single JSONC file for configuration, typically located at:
```
$XDG_CONFIG_HOME/leenfetch/
~/.config/leenfetch/
```
The configuration file is:
- **config.jsonc**: Includes `flags`, an ordered `modules` (`layout`) array, and an optional `custom_logo_path` override. Use strings like `"break"` for spacers or objects with `type`/`key` to control the output. JSONC keeps comments intact so every option is documented in place.
Edit the file to adjust appearance, enabled modules, spacing, or output order.
## EXAMPLES
- `leenfetch`
Display system information using the current configuration.
- `leenfetch --ascii_distro debian`
Show system info with Debian ASCII art, regardless of detected distro.
- `leenfetch --init`
Open the config chooser and create the selected preset if missing.
- `leenfetch --choose-config`
Open the config chooser and overwrite the existing config after confirmation.
- `leenfetch --reinit`
Delete and regenerate the config file.
- `leenfetch --ssh user@server`
- `leenfetch --ssh user@server:port`
- `leenfetch --ssh user@server:port --ssh user@server:port`
Fetch system info from a remote host over SSH and render locally using the remote machine's effective config.
- `echo "Rustacean" | leenfetch`
Display system info with a piped ASCII logo generated from the input text.
- `fortune | cowsay | leenfetch`
fortune generates a random quote.
cowsay wraps it in a cow speech bubble (ASCII art).
leenfetch takes piped input and displays it as an ASCII logo.
## ENVIRONMENT
- **XDG_CONFIG_HOME**: Specifies the base directory for user-specific configuration files. Defaults to `~/.config` if not set.
## FILE
- `~/.config/leenfetch/config.jsonc`
## WIKI
Please refer to the project wiki at:
https://github.com/drunkleen/leenfetch/wiki
## BUGS
Please report bugs or feature requests at:
https://github.com/drunkleen/leenfetch/issues
## AUTHOR
Written by DrunkLeen <snape@drunkleen.com>