Random terminal fortunes, packaged with style.
randosay wraps the classic UNIX fortune database with randomized ASCII speakers (cowsay, cowthink, ponysay, botsay, lolcat) encased in procedural decorative horizontal rules.
Interactive Terminal Simulator
Experience how randosay outputs dynamic characters and borders.
==============================================
_______________________________________
< You will be hungry again in one hour. >
---------------------------------------
\
\
^__^
(oo)\_______
(__)\ )\/\
||----w |
|| ||
==============================================Key Capabilities
Smart Speaker Fallback
Automatically detects available tools on your system (ponysay, cowsay, botsay, lolcat, or plain fortune) and gracefully adapts if any are missing.
Dynamic Procedural Rules
Calculates the terminal width via tput cols and bounds output between custom randomized repeating glyphs and runes.
Universal Packaging
Built-in support for CMake, Nix Flakes (flake.nix), Arch/Omarchy/Debian package layouts, and an automated bootstrap script.
Installation Guide
1. One-Liner (curl bootstrap)
curl -sL https://raw.githubusercontent.com/joshuacox/randosay/refs/heads/main/bootstrap.sh | bash
2. Nix / NixOS Flake
nix run github:joshuacox/randosay
3. Build from Source with CMake
git clone https://github.com/joshuacox/randosay.git cd randosay cmake . make sudo make install
Manual & Usage Reference
randosay - a wrapper around fortune to make terminal greetings fun
randosay [--debug]
randosay reads quotes from the fortune database and pipes them into either cowsay (with variable expressions like -b, -d, -g, -p, -s, -t, -w, -y), cowthink with arbitrary cow files, ponysay, ponythink, botsay, or lolcat. Each quote is bordered top and bottom by a procedurally generated horizontal rule.
Add randosay to the end of your ~/.zshrc or ~/.bashrc to greet yourself with a new fortune and ASCII character every time you launch a new terminal session!