retch
A fast, feature-rich system information fetcher written in Rust.
Note: The crate is published as
retch-clion crates.io because the nameretchwas already taken.
Users interact with the tool asretch(binary name and config directory~/.config/retch/).
Status
Active and usable.
retch is under active development with a working core, rich system information output, theming, config support, and high-quality distro logos (ASCII + graphical via Chafa).
Note: This project was 100% vibe coded using Grok. Real programmers are welcome.
Features
- Rich system information (OS, CPU, GPU, Memory, Disks, Network, etc.)
- High-quality ASCII logos (adapted from Fastfetch)
- Graphical logo support via Kitty protocol, iTerm2, and Sixel
- Graphical fallback via Chafa (Unicode symbols)
- Theming system (
default,dark,light) - Full configuration file support (
~/.config/retch/config.toml) - Smart config + CLI merging
--ascii-onlyflag to force text-only output--print-logosand--list-distroscommands
Installation
From crates.io
From source
Usage
Basic usage:
Force ASCII-only output:
List available logos:
List known distros:
Show help:
Shell Completions
Generate completion scripts for your shell:
# Bash
# Zsh
# Fish
Supported shells: bash, elvish, fish, power-shell, zsh, nushell.
Configuration
retch looks for a configuration file at:
~/.config/retch/config.toml
You can generate a default config with:
Or write it directly to the default location:
Logos
ASCII Logos
Some ASCII logos are adapted from Fastfetch (MIT licensed).
Graphic Logos
Graphic logos are converted from official or community SVG logos. These are not covered by the project's GPLv3 license and remain subject to the original trademarks and licenses of their respective projects.
See the full list of supported distros with:
License
This project is licensed under the GNU General Public License v3.0.
Contributing
Contributions are welcome! Feel free to open issues or pull requests.
If you are the copyright holder of any logo and would like different attribution or removal, please open an issue.