Dynamic Smart Prompt
Rainbow colors, random emoji per folder type, git branch with dirty state indicator, CPU temp color alerts, and more — all in a clean two-line layout.
███████╗ █████╗ ███╗ ██╗ ██████╗██╗ ██╗██████╗ █████╗ ███████╗██╗ ██╗ ██╔════╝██╔══██╗████╗ ██║██╔════╝╚██╗ ██╔╝██╔══██╗██╔══██╗██╔════╝██║ ██║ █████╗ ███████║██╔██╗ ██║██║ ╚████╔╝ ██████╔╝███████║███████╗███████║ ██╔══╝ ██╔══██║██║╚██╗██║██║ ╚██╔╝ ██╔══██╗██╔══██║╚════██║██╔══██║ ██║ ██║ ██║██║ ╚████║╚██████╗ ██║ ██████╔╝██║ ██║███████║██║ ██║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
Beautiful • Fast • Smart • Zero Bloat
One file. One install. Zero drama. Replace your dull terminal with a fully-featured, intelligent shell environment — without the overhead of frameworks like Oh My Zsh.
Everything you need in a modern shell environment, nothing you don't.
Rainbow colors, random emoji per folder type, git branch with dirty state indicator, CPU temp color alerts, and more — all in a clean two-line layout.
No heavy plugins or slow git parsing. Stays snappy even on old hardware. Shell startup measured in milliseconds, not seconds.
Never blindly overwrites your config. Creates timestamped backups every time and wraps config in clearly marked boundary blocks.
Built-in nvm support, Node/NPM version display, and instant aliases for
all common workflows. nrd, nrb, nrs — done.
bi, brd, brb, brs shortcuts —
runs .ts files with zero config. Full Bun runtime integration out of
the box.
uup — updates OS + Snap + Flatpak + Bun + Node.js in one interactive
fzf menu. System maintenance made beautiful.
uu — interactive fuzzy app remover with fzf, supports
apt/snap/flatpak/AppImage. Shows size and install date.
gen 32 — cryptographically secure random key generation via OpenSSL.
Perfect for API keys, JWT secrets, and more.
ex archive.tar.gz — handles .zip, .tar.gz,
.rar, .7z, .bz2 and more with one simple
command.
One command. Works on Linux, macOS, and Windows. Requires only
curl and your shell.
bash <(curl -fsSL https://gist.githubusercontent.com/rihadjahanopu/a1c286e48b3ecee1a207c759279e352c/raw/install.sh)
zsh <(curl -fsSL https://gist.githubusercontent.com/rihadjahanopu/fa5874bf928c2416816b7092030f1f3b/raw/install.zsh)
Set-ExecutionPolicy Bypass -Scope Process -Force; iex (irm https://gist.githubusercontent.com/rihadjahanopu/54b3d3bf8aac456b1aa19a62ac76a993/raw/install.ps1)
Safe to re-run — detects if already installed and exits gracefully.
Creates a timestamped backup of your current
.bashrc / .zshrc / $PROFILE.
Downloads the config and appends it with clear
>>> / <<< boundary markers.
Automatically sources your shell config so everything is live instantly.
Cleanly removes only the fancybash block from your config, leaving the rest untouched.
sed -i '/# >>> fancy-bashrc >>>/,/# <<< fancy-bashrc <<</d' ~/.bashrc && source ~/.bashrc
sed -i '/# >>> fancy-zshrc >>>/,/# <<< fancy-zshrc <<</d' ~/.zshrc && source ~/.zshrc
$p = $PROFILE; (Get-Content $p -Raw) -replace '(?s)# >>> fancy-powershell >>>.*?# <<< fancy-powershell <<<\s*', '' | Set-Content $p
Your original config remains untouched — only the fancybash block
wrapped in >>> / <<< markers is removed.
Step-by-step instructions to get your favorite shell ready for fancybash.
Bash is usually pre-installed on Linux. Ensure you have Git.
sudo apt update && sudo apt install bash -y && sudo apt install git -y
Check the installed version and set Bash as default.
bash --version
chsh -s $(which bash)
Log out and back in for the default shell change to take effect.
Install the Noto Color Emoji font for full emoji support.
sudo apt install fonts-noto-color-emoji
Install fonts for beautiful programming ligatures.
sudo apt update && sudo apt install -y fonts-firacode fonts-cascadia-code
Run sudo nano /etc/fonts/local.conf and paste the following
config to prioritize emojis.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>monospace</family>
<prefer>
<family>Fira Code</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>
Apply the new font configurations.
fc-cache -fv
If emojis are still broken, fix your system locale and reboot.
echo -e "LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8\nLANGUAGE=en_US" | sudo tee /etc/default/locale
sudo locale-gen en_US.UTF-8
sudo update-locale
reboot
Run the one-line installer to apply fancybash to your Bash shell.
bash <(curl -fsSL https://gist.githubusercontent.com/rihadjahanopu/a1c286e48b3ecee1a207c759279e352c/raw/install.sh)
The installer backs up your existing
.bashrc and safely appends fancybash — safe to re-run at any time.
Restart your terminal and enjoy the fancybash experience on Bash!
Install Git and Zsh via apt on Ubuntu/Debian-based systems.
sudo apt update && sudo apt install zsh -y && sudo apt install git -y
Check the installed version, then set Zsh as your default shell.
zsh --version
chsh -s $(which zsh)
Log out and back in for the default shell change to take effect.
fancybash loads plugins from the ~/.zsh/ folder. Create this
directory.
mkdir -p ~/.zsh
Clone both plugins — no plugin manager required.
Color-codes commands in real time — valid commands turn green, invalid ones turn red.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
~/.zsh/zsh-syntax-highlighting
Suggests commands from your history as you type — press → to
accept.
git clone https://github.com/zsh-users/zsh-autosuggestions.git \
~/.zsh/zsh-autosuggestions
Install the Noto Color Emoji font for full emoji support.
sudo apt install fonts-noto-color-emoji
Install fonts for beautiful programming ligatures.
sudo apt update && sudo apt install -y fonts-firacode fonts-cascadia-code
Run sudo nano /etc/fonts/local.conf and paste the following
config to prioritize emojis.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>monospace</family>
<prefer>
<family>Fira Code</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>
Apply the new font configurations.
fc-cache -fv
If emojis are still broken, fix your system locale and reboot.
echo -e "LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8\nLANGUAGE=en_US" | sudo tee /etc/default/locale
sudo locale-gen en_US.UTF-8
sudo update-locale
reboot
Run the one-line installer to apply fancybash to your Zsh shell.
zsh <(curl -fsSL https://gist.githubusercontent.com/rihadjahanopu/fa5874bf928c2416816b7092030f1f3b/raw/install.zsh)
The installer backs up your existing
.zshrc and safely appends fancybash — safe to re-run at any time.
Just clone them into the ~/.zsh/ folder. fancybash's
config.zsh automatically executes the following two lines.
# Autocomplete and Syntax Highlighting
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
After cloning both plugins into
~/.zsh/, open a new terminal — everything will work automatically!
Install PowerShell via winget (Windows) or apt (Linux).
winget install --id Microsoft.Powershell --source winget
Git is required for fancybash to work properly.
winget install --id Git.Git -e --source winget
Run the one-line PowerShell installer to apply fancybash to your
$PROFILE.
Set-ExecutionPolicy Bypass -Scope Process -Force; iex (irm https://gist.githubusercontent.com/rihadjahanopu/54b3d3bf8aac456b1aa19a62ac76a993/raw/install.ps1)
The installer backs up your existing
$PROFILE and safely appends fancybash — safe to re-run at any time.
Restart PowerShell and enjoy the fancybash experience!
Run keep in your terminal to see the full reference at any time.
| Command | Action |
|---|---|
.. |
Go up one directory |
... |
Go up two directories |
.... |
Go up three directories |
dev |
Jump to ~/Development |
fr / ba / fu |
Jump to Frontend / Backend / Fullstack folder |
fig / ar / de |
Jump to Figma / Archive / Dev folders |
des / doc / dow |
Jump to Desktop / Documents / Downloads |
pic / vid / mus |
Jump to Pictures / Videos / Music |
rd |
Jump to root directory (/) |
| Alias | Expands To |
|---|---|
ni |
npm install |
nid |
npm install -D |
nr |
npm run |
nrd |
npm run dev |
nrb |
npm run build |
nrs |
npm run start |
bi |
bun install |
brd |
bun run dev |
brb |
bun run build |
brs |
bun run start |
html |
bun run index.html |
| Command | Description |
|---|---|
gi |
Initialize new git repository |
gs |
Git status (short format) |
ga |
Stage all files (git add .) |
gcm "msg" |
Commit with message |
gps / gpl |
Push / Pull from remote |
gl |
Pretty git log with graph |
gco <branch> |
Checkout branch |
gcb <name> |
Create & checkout new branch |
gd |
View diff |
gwip "msg" |
Quick WIP commit + auto push to current branch |
gc [URL] |
Git Clone Project |
| Command | Description |
|---|---|
ii |
Interactive project init — choose Bun or NPM |
next |
Scaffold Next.js app via Bun or NPM |
vite |
Scaffold Vite project with optional Tailwind CSS v4 |
ui |
Install & init Shadcn/UI with component selection |
css |
Auto-install Tailwind CSS + clsx + tailwind-merge |
run |
Interactive JS/TS file runner via Bun |
pg <file> |
Smart Universal Package Converter (.deb, .rpm, .tgz) |
makecpp |
Advance C/C++ boilerplate generator (auto cd, makefile, git, vscode) |
make run |
Compile and run the generated C/C++ project |
make clean |
Remove compiled binary file |
| Command | Description |
|---|---|
uup |
Mega Updater — OS + Snap + Flatpak + Bun + Node.js via fzf |
uu |
Universal Uninstaller — fuzzy search across all package managers |
uc |
Universal system clean (cache, orphans, logs) |
setuppc |
Bootstrap a new PC with all essential developer tools |
rt |
Install Node.js (via nvm), Bun, and Deno |
myip |
Show your public IP address |
iploc |
Show IP + city/region/org info via ipinfo.io |
ports |
List all open ports |
kp <port> |
Kill the process running on a given port |
serve |
Start a local Python HTTP server in current directory |
| Command | Description |
|---|---|
dps / dpsa |
List running / all containers (clean table format) |
di / dvl / dnl |
List all images / volumes / networks |
dsize / dtop |
Monitor Docker disk space / container stats |
dstop / dkill |
Stop / force kill a container |
drm / drmi |
Remove container / remove image |
dstopall / drmall |
Stop all / remove all containers |
dsh <name> |
Enter container terminal |
dlogs <name> |
Live tail container logs |
dbuild / dbuild-nocache |
Build image / build without cache |
dcup / dcdn |
Docker Compose up -d / down |
dtest-* |
Quick test container (-ubuntu, -node,
-alpine)
|
dfind <name> |
Search containers and images by name |
dclean |
Deep clean system (prune all unused resources) |
dstart |
Start the Docker service (systemctl start docker) |
doff |
Stop the Docker service (systemctl stop docker) |
dstatus |
Check if Docker is running or stopped |
denable |
Enable Docker auto-start on boot (docker + socket) |
ddisable |
Disable Docker auto-start on boot (docker + socket) |
| Alias | Description |
|---|---|
pgstart |
Start the PostgreSQL service |
pgstop |
Stop the PostgreSQL service |
pgrestart |
Restart the PostgreSQL service |
pgstatus |
Check PostgreSQL service status |
pgenable |
Enable PostgreSQL auto-start on boot |
pgdisable |
Disable PostgreSQL auto-start on boot |
pglogs |
Follow the PostgreSQL log file live |
pgl |
Login as postgres user via psql |
pgdb <name> |
Connect to a specific database (pgdb mydb) |
pgls |
List all databases (\l) |
pgtables |
List all tables in current DB (\dt) |
pgdump <db> |
Dump / backup a database (pgdump mydb > backup.sql) |
pgrestore <db> |
Restore a database from file (pgrestore mydb < backup.sql) |
pgusers |
List all users / roles (\du) |
pgsize |
Show size of each database |
pgver |
Show PostgreSQL version |
pgconn |
Show active connections count |
pgcreate <db> |
Create a new database (pgcreate mydb) |
pgdrop <db> |
Drop / delete a database (pgdrop mydb) |
| Command | Description | Example |
|---|---|---|
cf [dir] |
Advanced FZF Quick CD with preview | cf . |
mkd <name> |
Create directory and cd into it |
mkd my-app |
t <file> |
Create a file with feedback | t index.js |
rmd <name> |
Force remove directory recursively | rmd old-build |
rmf <file> |
Remove file with confirmation | rmf test.txt |
rn [dir] |
Clean and bulk rename files in directory | rn . |
bak <file> |
Create a .bak backup copy |
bak .env |
trash <file> |
Move file to system trash (safe delete) | trash temp.log |
ex <archive> |
Extract any archive format | ex project.tar.gz |
ff <name> |
Find file by name (skips node_modules) |
ff tsconfig |
gen <len> |
Generate cryptographically secure secret key | gen 32 |
h <word> |
Search command history | h docker |
to |
Open current directory in VS Code | |
c / cls |
Clear the terminal screen |
A context-aware two-line prompt that tells you everything at a glance.
🌐 web, 🟢 node, 🥐 bun,
🐍 py
Branch name + ❗ when dirty
🟢 <60° / 🟡 <80° / 🔴 >80°
Shows duration for commands > 1 second
Shows when current dir is not writable
Shows count when system packages need updating
Get a fully-configured settings.json for the
Zed editor
— works for both Flatpak and native installations.
bash <(curl -fsSL https://gist.githubusercontent.com/rihadjahanopu/bb56371f87793c21a8fad4e4b9815a9b/raw/install-settings.sh)
| Setting | Value |
|---|---|
| Theme | BlackFox (dark) / Everforest Light Hard |
| Buffer Font | Cascadia Code 22px |
| UI Font | JetBrains Mono 20px |
| Terminal Font | JetBrains Mono 22px |
| Tab Size | 2 spaces |
| Keymap | VSCode |
| Minimap | auto |
| Git Blame | With commit summary |
Join developers who've made their shell beautiful, fast, and smart.
MIT Licensed · Made with ❤️ in Bangladesh