Repository navigation
Home
retch is a fast, feature-rich system information fetcher written in Rust — a Fastfetch-style tool that displays your OS, hardware, and software info next to a distro logo, tuned to be faster than the tools it's compared against.
This project is entirely vibe coded — every line was written by AI (Grok and Gemini) with a human directing at a high level. The code compiles, the tests pass, and the tool works, but it has not been reviewed by an experienced systems engineer.
Real programmers are welcome. If you spot something wrong, fragile, or just un-idiomatic, please open an issue or a PR — your expertise is exactly what this project needs.
retch exists to answer the same question as neofetch and fastfetch: "what does
this machine look like?" — OS, kernel, CPU/GPU, memory, disks, network, and dozens of
other fields, rendered next to your distro's logo. neofetch is no longer
maintained; fastfetch is the current standard.
retch is a from-scratch Rust implementation built around a concurrent fetch pipeline
(see How It Works) that targets — and tracks via continuous
benchmarking — beating fastfetch's runtime,
while adding native EDID display parsing, a dedicated --full diagnostic mode, and a
TOML config engine with CLI/config merge logic.
- Concurrent fetch pipeline: scoped-thread parallelism for slow queries (GPU, packages, network, displays, audio, Bluetooth) — see How It Works
-
Four output modes:
--short/ standard /--long/--full, each a strict superset of the one before it - Cross-platform: first-class Linux, macOS, and Windows support
- Rich graphics: native Kitty/iTerm2/Sixel inline image logos, falling back to Chafa (Unicode) or colored ASCII art
- Flexible theming: built-in Catppuccin/Solarized/neutral/dark/light themes plus full hex-code custom overrides — see Configuration & Theming
-
Config engine: CLI flags and
config.tomlmerge seamlessly (see Configuration & Theming for where it lives on each platform)
| Page | What it covers |
|---|---|
| Getting Started | Install, quick start, shell completions |
| How It Works | Concurrent fetch pipeline, output-mode strata, workspace layout |
| Configuration and Theming | Config file, all config.toml keys, themes |
| Troubleshooting | Common problems and fixes |
| Compared to fastfetch and neofetch | Where retch and fastfetch differ, and real-hardware benchmarks |
| Workspace Architecture | Cargo workspace / crate layout in depth |
| Development Setup | Building, testing, benchmarking, the Pre-PR gate |
Also see the Continuous Performance Benchmarks
dashboard — historical retch vs. fastfetch timing, tracked on every merge to main.
cargo install retch-cli
retchThat's it — no config required. cargo install installs the binary only; see
Getting Started for the just recipes that also install the man page and
shell completions, for other install methods (AUR, COPR, Homebrew, Nix), and Configuration & Theming
to customize fields and colors.