๐ฎ cowsay.zsh
January 31, 2026 ยท View on GitHub
Zsh plugin that displays a joke with cowsay every time you open a terminal.
๐ฅ Installation
Using Zinit๐ป
zinit depth"1" lucid nocd light-mode atload"joke" for phucisstupid/cowsay.zsh
Manual Installation
- Clone the repository:
git clone https://github.com/phucisstupid/cowsay.zsh.git ~/cowsay.zsh - Source the plugin in your
.zshrc:source ~/cowsay.zsh/cowsay.plugin.zsh - Restart your terminal:
source ~/.zshrc
๐ Usage
Just open your terminal! The plugin will automatically display a joke every session If you don't want automatic display:
zinit depth"1" lucid nocd light-mode for phucisstupid/cowsay.zsh
You can also manually trigger it:
joke
# for cowsay
or:
dadjoke
# for cowthink
๐ Automatic Joke Updates
This repository includes a GitHub Actions workflow to update jokes.txt daily.
To update jokes, use git pull for git install
Zinit update:
zinit update phucisstupid/cowsay.zsh
Workflow Details:
- Fetches 100 new jokes from
icanhazdadjoke.com - Commits and pushes updates to
jokes.txt - Runs every day at midnight (UTC)
๐ Customization
You can customize the joke behavior by modifying joke.plugin.zsh. Hereโs what you can do:
- Change joke source: Modify the
jokes_filepath. - Use a specific cowsay character: Replace
lswith a fixed filename, e.g.,cowsay -f dragon.
๐ง Dependencies
Ensure you have these installed:
cowsaylolcat(optional)ripgrep (rg)jq
Install them via Homebrew:
brew install cowsay lolcat ripgrep jq
๐ License
MIT License - Feel free to use and modify!
Made with ๐ฎ๐ฌ by phucisstupid