-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
- None on the user side —
retchships as a single static-ish binary per platform. - To build from source: Rust toolchain (
rustup.rs), plusjustand Python 3 for the recipes that also install the man page and completions (see From source).
cargo install retch-cliThe crate is published as retch-cli because the name retch was already taken on
crates.io; the installed binary and config directory are still retch /
~/.config/retch/.
This installs the binary only — no man page and no shell completions. Generate
completions with retch --completions <shell>, or use the just recipes under
From source, which install all three.
yay -S retchNote
New account registrations on the Arch User Repository are temporarily suspended by Arch Linux. While registrations are down, you can still build and install locally from a clone:
just aur-local # needs just, python3 and makepkgpackaging/aur/PKGBUILD is a template whose pkgver/sha256sums are filled in from the
tag at publish time, so it cannot be handed to makepkg directly. The recipe renders it
for the last released tag and builds that, which is the same tarball the AUR builds.
brew trust l1a/retch # Homebrew 6.0+ only
brew tap l1a/retch
brew install retchHomebrew 6.0 and later require third-party taps to be trusted before their formulae will
load. Without brew trust first, brew tap fails with a message that blames the wrong
thing:
Refusing to load formula l1a/retch/retch from untrusted tap l1a/retch.
Error: Cannot tap l1a/retch: invalid syntax in tap!
The syntax is fine — that is just how the refusal surfaces. On Homebrew 5.x and earlier
there is no brew trust command, so skip that line and tap directly.
The formula builds from source, so the first install compiles retch and needs Rust —
Homebrew installs it as a build-time dependency. There is deliberately no prebuilt
bottle: one has to be built, signed and uploaded per macOS version and architecture,
which is a lot of release machinery for a small tool. The install also places the man page
and completions for bash, zsh and fish.
The formula lives in packaging/homebrew/retch.rb and is pushed to the tap by
just brew-publish — the tap is never hand-edited. See
Development Setup for the guard that keeps it from drifting.
sudo dnf copr enable kentobias/retch
sudo dnf install retchCOPR is Fedora's community build service, not an official Fedora repository. Builds are
provided for Fedora 43 and 44 on x86_64 and aarch64. The spec lives in
packaging/copr/retch.spec; see Development Setup for how it is built
and what compromises it makes.
nix run github:l1a/retchOr add it to a NixOS / Home Manager configuration via the provided flake:
# flake.nix inputs
inputs.retch.url = "github:l1a/retch";
# Home Manager module
programs.retch.enable = true;
programs.retch.settings = {
theme = "catppuccin";
};Prefer the just recipes: they install the man page and
shell completions as well as the binary, and keep all three at the same version. Besides
Rust they need just and Python 3.
git clone https://github.com/l1a/retch.git
cd retch
just install-tag "$(git describe --tags --abbrev=0)" # the newest releasejust install-tag <version> builds that release (cargo install --git --tag), then installs
completions generated by the binary it just installed and the man page read from the same
tag, so the three cannot disagree. It is a bash recipe, so on Windows run it from Git Bash.
To install the current checkout instead — unreleased changes included:
just installEither recipe puts the binary in ~/.cargo/bin, the man page in
~/.local/share/man/man1, and completions for bash, zsh, fish, elvish, nushell and
PowerShell in their per-user locations (honouring XDG_DATA_HOME / XDG_CONFIG_HOME).
zsh only reads completions from directories on its fpath; if
~/.local/share/zsh/site-functions is not on it, the recipe says so and prints the line to
add. Development Setup has
the details.
Without just, cargo install --path . works too, but installs the binary only — use
retch --completions <shell> for completions, and docs/retch.1 is the man page.
retchRuns in standard mode — a daily-use system overview with the distro logo. Four output modes trade runtime for detail (see How It Works for the full field breakdown):
retch --short # hardware snapshot: OS, CPU, GPU, Memory, Disk — <100ms
retch # standard: daily-use system overview — ~200ms
retch --long # diagnostics: firmware, thermals, shell, network, battery — ~500ms
retch --full # everything: theme, gamepad, weather, FUSE mounts, all sensors — ~5s+retch --ascii-logo # force text-only ASCII logo
retch --logo pop # override the detected distro logo
retch --print-logos # list all bundled logos
retch --list-distros # list known distro identifiers
retch --help # full flag reference# Bash
retch --completions bash > ~/.local/share/bash-completion/completions/retch
# Zsh
retch --completions zsh > ~/.local/share/zsh/site-functions/_retch
# Fish
retch --completions fish > ~/.config/fish/completions/retch.fishAlso supported: elvish, nushell, power-shell.
man retch # full user manual- Configuration & Theming — customize fields, colors, and themes
- How It Works — the concurrent fetch pipeline and output-mode design
- Troubleshooting — known gotchas and their fixes