What is rgrc?
rgrc, the Rusty Generic Colouriser, is a fast Rust rewrite of the classic grc. Put it in front of a command and it colors that command's output: ping, df, ls, ps, docker, journalctl, kubectl, dig, mount, ip, netstat and about 97 commands in total, each driven by a grc/grcat-style config file. The configs are embedded in the binary, so it works the moment it is installed, and it colors pipes too (df -h | rgrc -c df). Shell aliases that color the usual commands automatically are one line in your ~/.bashrc or ~/.zshrc. The package and the command are both called rgrc.
grc), and upstream publishes release binaries and a .deb on GitHub but no apt repository, so a copy installed by hand never updates itself.
⚡ Key Features of rgrc
🌈 About 97 Commands
System, network, container and log tools out of the box: df, free, ps, mount, ping, dig, ip, ss, docker, kubectl, journalctl and many more.
⚡ Fast Native Binary
A Rust rewrite of the Python grc, so there is no interpreter to start for every command you color. The package is one statically linked binary.
📦 Configs Built In
The command configs are embedded in the binary and also installed in /usr/share/rgrc, with the command mapping in /etc/rgrc.conf.
🔀 Works on Pipes
Color output you already have: df -h | rgrc -c df picks a config by name and colors whatever arrives on standard input.
🐚 Shell Aliases
eval "$(rgrc --aliases)" makes ping, df or docker come out colored without typing rgrc. Leave out any command with --except.
🛠️ grc-Style Rules
Rules use the familiar grc/grcat format of regexp= and colours= lines, and your own go in ~/.config/rgrc/.
apt upgrade keeps you on the latest version.
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud and Zed; rgrc is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.
🧩 About the extrepo option. extrepo is Debian's own tool for external repositories: it writes the sources file and installs the signing key for you, checking the key against signed metadata first. This repository is registered with it as griffo, and the always-free mirror as griffo-free, so on Debian (bookworm, trixie, forky and sid) the commands above are the whole setup.
extrepo sets up the sources file and the key only, so a subscription's credentials still go in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu is not covered, because extrepo publishes metadata for Debian suites only: there, use the sudo or root commands.
Step 2: Install rgrc
# Install latest rgrc
sudo apt install rgrc
# Verify installation
rgrc --version# Install latest rgrc
apt install rgrc
# Verify installation
rgrc --versionStep 3: Enable Shell Aliases (Optional)
# Aliases are not enabled by default: add this line to ~/.bashrc or ~/.zshrc
eval "$(rgrc --aliases)"
# Open a new shell, and the usual commands come out colored
ping -c 4 debian.org
df -h🎯 Basic Usage Examples
Coloring a single command:
# Put rgrc in front of the command you want colored
rgrc ping -c 4 debian.org
rgrc df -h
rgrc docker ps
rgrc journalctl -n 50Coloring piped output:
# Pick a config by name and color standard input
df -h | rgrc -c df
mount | rgrc -c mountChoosing aliases and colors:
# Aliases for every supported command except ls and ps
eval "$(rgrc --aliases --except ls,ps)"
# Force colors when the output goes to a pager
rgrc --color on ping -c 4 debian.org | less -RConfiguration and your own rules:
# The command configs and the main mapping
ls /usr/share/rgrc/
cat /etc/rgrc.conf
# Your own rules go here, in grc-style regexp= and colours= lines
mkdir -p ~/.config/rgrc
# Full option reference
man rgrc🔧 Tool Integrations
rgrc fits into an existing terminal workflow:
- Shells: bash, zsh and fish completions are installed with the package, and the aliases work in any shell that can
evalthem - grc: Debian's Python
grccan stay installed: the commands aregrcandrgrc, and rgrc reads the same grc/grcat rule format - Containers:
docker ps,docker imagesandkubectl get podsbecome easier to scan - Logs:
journalctloutput with errors and warnings that stand out at a glance - Network diagnostics:
ping,traceroute,dig,ss,netstatandipwith addresses, latencies and states in color
🚀 Why Choose deb.griffo.io?
- Official Debian: not packaged: rgrc is not in any Debian release, from Bookworm to Sid; Debian ships only the original Python
grc - Upstream binary: current on the day you download it, but upstream publishes release binaries and a .deb on GitHub with no apt repository, so
apt upgradenever sees a new version and every release is another manual download - Building with cargo install: needs a Rust toolchain and a rebuild on every upgrade, and leaves out the man page, the completions and the config files
- deb.griffo.io: latest version with automatic updates
- ✅ No Runtime Dependencies: rgrc is a single statically linked Rust binary with no dependencies, and it installs side by side with Debian's Python
grc - ✅ Apt Updates for Upstream's Releases: upstream ships binaries and a .deb but no repository; here every release lands in a GPG-signed apt repository with a build for each Debian and Ubuntu suite
- ✅ Automatic Updates: packages updated within hours of upstream releases
- ✅ Complete Package:
/usr/bin/rgrc, thergrc(1)man page,/etc/rgrc.conf, the 97 command configs in/usr/share/rgrcand completions for bash, zsh and fish - ✅ Four Architectures: amd64, arm64, armhf and i386, so laptops, servers, Raspberry Pi boards and older 32-bit machines get the same rgrc
- ✅ Multi-Distribution: works on Bookworm, Trixie, Forky and Sid
- ✅ Easy Maintenance: standard apt commands for updates
📦 Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- 🌈 rgrc-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- eza - Modern ls replacement with colors and icons
- bottom - Graphical process and system monitor for the terminal
- lazydocker - Terminal UI for Docker and docker-compose
- fish - Friendly interactive shell with rich completions
ping, df, ps, docker and journalctl output all day, grc users who want it faster and without Python, coloring output in pipes, and spotting errors and warnings at a glance.
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!