.TH "RETCH" "1" "June 2026" "retch 0.3.27" "System Information Fetcher"
.SH "NAME"
.PP
retch \- a fast, feature\-rich system information fetcher
.SH "SYNOPSIS"
.PP
\fBretch\fP [\fIOPTIONS\fP]
.SH "DESCRIPTION"
.PP
\fBretch\fP is a fast system information tool written in Rust\. It displays detailed information about your system including OS, CPU, memory, audio, disks, network, Wi\-Fi, Bluetooth, and more, with support for high\-quality ASCII and graphical logos\.
.SH "OPTIONS"
\fB\-h, \-\-help\fP
.RS
Show help information\.
.RE
\fB\-V, \-\-version\fP
.RS
Print version information\.
.RE
\fB\-m, \-\-mode\fP \fIMODE\fP
.RS
Select output mode (`\f[CR]short\fP`, `\f[CR]long\fP`, or `\f[CR]custom\fP`)\.
.RE
\fB\-c, \-\-config\fP \fIFILE\fP
.RS
Path to a custom configuration file instead of the default\.
.RE
\fB\-\-ascii\-logo\fP
.RS
Force ASCII logo output, disabling graphical and Chafa rendering\.
.RE
\fB\-\-chafa\-logo\fP
.RS
Force Chafa symbols output, disabling high\-res graphical protocols (Kitty, Sixel, iTerm2)\.
.RE
\fB\-\-no\-logo\fP
.RS
Disable the logo entirely\.
.RE
\fB\-\-logo\fP \fILOGO\fP
.RS
Force a specific distribution logo by name/ID (e\.g\. `\f[CR]pop\fP`, `\f[CR]manjaro\fP`, `\f[CR]endeavouros\fP`, `\f[CR]opensuse\fP`, `\f[CR]ubuntu\fP`, `\f[CR]fedora\fP`, `\f[CR]macos\fP`, `\f[CR]windows\fP`)\.
.RE
\fB\-\-theme\fP \fITHEME\fP
.RS
Use a specific theme (e\.g\. `\f[CR]default\fP`, `\f[CR]dark\fP`, `\f[CR]light\fP`, or community themes)\.
.RE
\fB\-\-list\-themes\fP
.RS
List all available built\-in themes\.
.RE
\fB\-\-print\-theme\-template\fP
.RS
Print an example custom theme template to stdout\.
.RE
\fB\-\-print\-logos\fP
.RS
Print all available logos\.
.RE
\fB\-\-list\-distros\fP
.RS
List known supported distributions\.
.RE
\fB\-\-completions\fP \fISHELL\fP
.RS
Generate shell completion scripts for the specified shell\. Supported shells are: `\f[CR]bash\fP`, `\f[CR]elvish\fP`, `\f[CR]fish\fP`, `\f[CR]power\-shell\fP`, `\f[CR]zsh\fP`, `\f[CR]nushell\fP`\.
.RE
\fB\-\-generate\-config\fP
.RS
Print a default configuration file to stdout\.
.RE
\fB\-\-write\-config\fP [\fIPATH\fP]\fP
.RS
Write the default configuration to a file (uses `\f[CR]~/\.config/retch/config\.toml\fP` if no path is given)\.
.RE
\fB\-\-merge\-config\fP
.RS
Merge default configuration settings (as comments) into an existing config file at the default path (or custom path if `\f[CR]\-\-config\fP` is supplied)\.
.RE
\fB\-\-fields\fP \fIFIELDS\fP
.RS
Comma\-separated list of fields to display, overriding the config file's default list\.
.RE
\fB\-s, \-\-short\fP
.RS
Short output mode\. Equivalent to `\f[CR]\-\-mode short\fP`\. Shows: OS, Kernel, Host, CPU, GPU, Memory, Disk\.
.RE
\fB\-l, \-\-long\fP
.RS
Long output mode\. Equivalent to `\f[CR]\-\-mode long\fP`\. Shows all available fields\.
.RE
.SH "CONFIGURATION"
.PP
retch reads its configuration from:
.RS
.PP
.nf
$XDG_CONFIG_HOME/retch/config\.toml
.fi
.RE
.PP
or
.RS
.PP
.nf
~/\.config/retch/config\.toml
.fi
.RE
.PP
You can generate a starting configuration with:
.RS
.PP
.nf
retch \-\-generate\-config > ~/\.config/retch/config\.toml
.fi
.RE
.SS "Available Configuration Keys"
.RS
.Bl
.IP \(bu 4
\fBtheme\fP: Theme name to use\. (default: `\f[CR]"auto"\fP`)\.
.El
.Bl
.IP \(bu 4
\fBshow_logo\fP: Boolean indicating whether to show the logo (default: `\f[CR]true\fP`)\.
.El
.Bl
.IP \(bu 4
\fBascii_only\fP: Boolean indicating whether to restrict logo to ASCII representation\.
.El
.Bl
.IP \(bu 4
\fBchafa\fP: Boolean indicating whether to force Chafa symbols output\.
.El
.Bl
.IP \(bu 4
\fBlogo\fP: Distro name/ID to force override logo detection\.
.El
.Bl
.IP \(bu 4
\fBweather_location\fP: Location for weather lookup\. Accepts a city name (`\f[CR]"London"\fP`), US ZIP code (`\f[CR]"10001"\fP`), airport IATA code (`\f[CR]"SFO"\fP`), or lat/lon coordinates (`\f[CR]"48\.8566,2\.3522"\fP`)\. If unset, wttr\.in auto\-detects your location from your IP address\.
.El
.Bl
.IP \(bu 4
\fBfields\fP: Array of strings representing active fields and their display order\. Available fields are:
.RS
.Bl
.IP \(bu 4
`\f[CR]os\fP`: Operating system name\.
.El
.Bl
.IP \(bu 4
`\f[CR]kernel\fP`: Kernel version\.
.El
.Bl
.IP \(bu 4
`\f[CR]host\fP`: System host/product name\.
.El
.Bl
.IP \(bu 4
`\f[CR]arch\fP`: System architecture\.
.El
.Bl
.IP \(bu 4
`\f[CR]chassis\fP`: Chassis type (Laptop, Desktop, Mini PC, etc\.)\.
.El
.Bl
.IP \(bu 4
`\f[CR]init\fP`: PID 1 / init system (systemd, runit, launchd, etc\.)\.
.El
.Bl
.IP \(bu 4
`\f[CR]locale\fP`: System locale from `\f[CR]$LC_ALL\fP` / `\f[CR]$LANG\fP`\.
.El
.Bl
.IP \(bu 4
`\f[CR]cpu\fP`: CPU model name\.
.El
.Bl
.IP \(bu 4
`\f[CR]cpu\-freq\fP`: CPU current/max/min frequencies\.
.El
.Bl
.IP \(bu 4
`\f[CR]gpu\fP`: GPU model(s) and VRAM\.
.El
.Bl
.IP \(bu 4
`\f[CR]motherboard\fP`: Motherboard manufacturer and model\.
.El
.Bl
.IP \(bu 4
`\f[CR]bios\fP`: BIOS vendor and version\.
.El
.Bl
.IP \(bu 4
`\f[CR]bootmgr\fP`: Second\-stage bootloader (GRUB, systemd\-boot, etc\.)\.
.El
.Bl
.IP \(bu 4
`\f[CR]display\fP`: Connected monitor displays with refresh rates and resolution\.
.El
.Bl
.IP \(bu 4
`\f[CR]audio\fP`: Audio card controller and active sound servers (PipeWire, PulseAudio, ALSA, CoreAudio, Windows Audio)\.
.El
.Bl
.IP \(bu 4
`\f[CR]camera\fP`: Connected camera/webcam names\.
.El
.Bl
.IP \(bu 4
`\f[CR]gamepad\fP`: Connected gamepad/controller names\.
.El
.Bl
.IP \(bu 4
`\f[CR]memory\fP`: System RAM usage and capacity\.
.El
.Bl
.IP \(bu 4
`\f[CR]phys\-mem\fP`: Physical RAM slot details \-\- type (DDR5, LPDDR5, etc\.), speed, and per\-slot capacity\. On Linux, requires root (`\f[CR]sudo\fP`) to read DMI memory tables via `\f[CR]dmidecode\fP`\. On Windows, uses `\f[CR]Win32_PhysicalMemory\fP` via PowerShell\.
.El
.Bl
.IP \(bu 4
`\f[CR]swap\fP`: System SWAP usage and capacity\.
.El
.Bl
.IP \(bu 4
`\f[CR]uptime\fP`: System uptime\.
.El
.Bl
.IP \(bu 4
`\f[CR]procs\fP`: Active process count\.
.El
.Bl
.IP \(bu 4
`\f[CR]load\fP`: Average system load\.
.El
.Bl
.IP \(bu 4
`\f[CR]disk\fP`: Mounted disk capacity, usage, and mountpoint\.
.El
.Bl
.IP \(bu 4
`\f[CR]phys\-disk\fP`: Physical disk model, size, and type (NVMe SSD, SSD, HDD)\. On Windows, uses `\f[CR]Get\-PhysicalDisk\fP` via PowerShell\.
.El
.Bl
.IP \(bu 4
`\f[CR]temp\fP`: System temperature sensors\.
.El
.Bl
.IP \(bu 4
`\f[CR]net\fP`: Active network interfaces and local/public IP addresses\.
.El
.Bl
.IP \(bu 4
`\f[CR]wifi\fP`: Active Wi\-Fi SSID, band frequency, channel, and link rates\.
.El
.Bl
.IP \(bu 4
`\f[CR]bluetooth\fP`: Bluetooth adapter details and connected device count/names\.
.El
.Bl
.IP \(bu 4
`\f[CR]battery\fP`: Battery capacity, vendor/model, time remaining, and health\.
.El
.Bl
.IP \(bu 4
`\f[CR]shell\fP`: Shell name and version (e\.g\. bash, zsh, fish, nu)\.
.El
.Bl
.IP \(bu 4
`\f[CR]editor\fP`: Default editor from `\f[CR]$VISUAL\fP` / `\f[CR]$EDITOR\fP`\.
.El
.Bl
.IP \(bu 4
`\f[CR]terminal\fP`: Terminal emulator name and version\.
.El
.Bl
.IP \(bu 4
`\f[CR]terminal_font\fP`: Terminal emulator active font\.
.El
.Bl
.IP \(bu 4
`\f[CR]desktop\fP`: Desktop environment or window manager\.
.El
.Bl
.IP \(bu 4
`\f[CR]theme\fP`: UI Theme settings\.
.El
.Bl
.IP \(bu 4
`\f[CR]icons\fP`: UI icon pack\.
.El
.Bl
.IP \(bu 4
`\f[CR]cursor\fP`: UI mouse cursor settings\.
.El
.Bl
.IP \(bu 4
`\f[CR]font\fP`: UI system font\.
.El
.Bl
.IP \(bu 4
`\f[CR]users\fP`: Current logged in users\.
.El
.Bl
.IP \(bu 4
`\f[CR]packages\fP`: Installed package counts (supporting dpkg, rpm, pacman, flatpak, snap, homebrew, scoop, chocolatey, etc\.)\.
.El
.Bl
.IP \(bu 4
`\f[CR]weather\fP`: Current weather from wttr\.in (city, condition, temperature)\. Requires network access\. Long mode only by default\.
.El
.RE
.El
.RE
.SH "THEMES"
.PP
retch supports multiple built\-in themes as well as custom color overrides\.
.PP
The following themes are available:
.RS
.Bl
.IP \(bu 4
\fBauto\fP (default): Automatically follows your system dark/light preference\.
.El
.Bl
.IP \(bu 4
\fBneutral\fP: A balanced neutral theme (cyan labels, white values)\.
.El
.Bl
.IP \(bu 4
\fBdark\fP and \fBlight\fP: Basic dark and light themes\.
.El
.Bl
.IP \(bu 4
Popular community themes: \fBcatppuccin\-latte\fP, \fBcatppuccin\-frappe\fP, \fBcatppuccin\-macchiato\fP, \fBcatppuccin\-mocha\fP, \fBsolarized\-light\fP, \fBsolarized\-dark\fP\.
.El
.RE
.PP
You can also define custom colors using the `\f[CR][custom_theme]\fP` section in your configuration file\.
.PP
Colors can be specified using names (e\.g\. `\f[CR]"bright_cyan"\fP`) or hex values (e\.g\. `\f[CR]"#89b4fa"\fP`)\.
.PP
Example:
.RS
.PP
.nf
[custom_theme]
label_color = "bright_cyan"
value_color = "#cdd6f4"
accent_color = "bright_green"
.fi
.RE
.SH "LOGOS"
.PP
retch supports both ASCII and graphical logos\.
.RS
.Bl
.IP \(bu 4
ASCII logos are adapted from Fastfetch\.
.El
.Bl
.IP \(bu 4
Graphical logos are rendered using Chafa when available, or via the Kitty, iTerm2, or Sixel inline image protocols\.
.El
.RE
.PP
Use `\f[CR]\-\-ascii\-only\fP` to force text\-only output\.
.SH "EXIT STATUS"
.PP
\fBretch\fP exits with status 0 on success, and non\-zero on error\.
.SH "SEE ALSO"
.PP
\fBfastfetch\fP(1), \fBneofetch\fP(1)
.SH "AUTHORS"
.PP
Maintained by the retch developers\.
See the project repository for more information:
.RS
.PP
.nf
https://github\.com/l1a/retch
.fi
.RE