✨ Bring serendipity & color to your bash / zsh shell

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.

curl -sL https://raw.githubusercontent.com/joshuacox/randosay/refs/heads/main/bootstrap.sh | bash
Advertisement

Interactive Terminal Simulator

Experience how randosay outputs dynamic characters and borders.

user@terminal: ~/randosay
speaker: cowsay (standard)
$ randosay
==============================================
 _______________________________________
< You will be hungry again in one hour. >
 ---------------------------------------
   \
    \
  ^__^
  (oo)\_______
   (__)\       )\/\
       ||----w |
       ||     ||
==============================================
Speaker:
Border Char:

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

NAME

randosay - a wrapper around fortune to make terminal greetings fun

SYNOPSIS

randosay [--debug]

DESCRIPTION

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.

AUTOMATION & LOGIN HOOKS

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!

Advertisement