slick - async ZSH prompt
How to use
Install:
cargo install slick
To install cargo:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
If in Linux you may need install this:
apt install -y build-essential libssl-dev pkg-config
check your PATH $HOME/.cargo/bin/slick:w
Then add this to your .zshrc:
SLICK_PATH=/.cargo/bin/slick
🔤 Font Setup
Seeing boxes (□) instead of symbols? You need a Nerd Font.
Quick fix:
- Download a Nerd Font: https://www.nerdfonts.com/font-downloads
- Recommended: Monoid Nerd Font (clean, minimalist), JetBrainsMono Nerd Font, FiraCode Nerd Font
- Install the font on your system
- Configure your terminal to use it
- Restart terminal
Using Monoid Nerd Font? Works great with slick's minimalist design!
Don't want to install fonts? Use Unicode or ASCII alternatives:
# Unicode arrow
# or
# ASCII
Customizations
Slick can be customized using environment variables.
Quick Start
# Disable git fetch for faster prompts
# Custom symbols
# Custom colors
All Environment Variables
General Settings
# Max command time to display (seconds)
# Enable git fetch (1=yes, 0=no)
# Hide git username (1=hide, 0=show)
# Non-breaking space character
Prompt Symbols
# Main prompt symbol
# Vi command mode symbol
# Root user symbol
# Git ahead symbol
# Git behind symbol
# Git auth failed symbol
Colors
# Colors can be named (red, blue, etc.) or numbers (0-255)
# Error message color
# Directory path color
# Prompt symbol color
# Vi command mode color
# Root user color
# SSH session color
# Command time color
Git Colors
# Branch name color
# master/main branch color
# Git action (merge, rebase) color
# Modified files color
# Staged files color
# Remote status color
# Git username color
# Git auth failed color
Example Configurations
Minimal/Fast (no network calls)
# No git fetch
# Hide username
# Simple symbol
Colorful
Nerd Fonts (Monoid, JetBrainsMono, etc.)
⚠️ Requires a Nerd Font - Works great with Monoid Nerd Font, JetBrainsMono Nerd Font, FiraCode Nerd Font
# Example with Monoid Nerd Font or similar Nerd Fonts
# nf-oct-chevron_right
# nf-oct-chevron_left
# nf-fa-flash
# nf-fa-lock
# nf-md-arrow_up
# nf-md-arrow_down
Download Nerd Fonts: https://www.nerdfonts.com/
These symbols work with any Nerd Font (Monoid, JetBrainsMono, FiraCode, Hack, etc.)
See more examples in envrc.
🔒 SSH Authentication Detection
Slick automatically detects when SSH remotes require authentication and displays a lock symbol (🔒).
How it works:
- Non-blocking: First time you
cdinto a repo, auth check runs in background - Subsequent prompts show the lock symbol if SSH authentication is required
- Cache-based: Auth status is cached for 5 minutes in
~/.cache/slick/ - Only checks SSH remotes (
git@andssh://) with 2-second timeout - No hanging or password prompts - completely non-interactive
Example:
# cd into repo with SSH remote requiring auth
# First prompt: no lock (background check running)
# Next prompt: 🔒 appears if auth is needed
Configure the lock symbol:
# Default
# Default
See TEST_README.md for testing instructions.
Inspired by:
