WSL2 Ubuntu terminal setup: Zsh + Starship (Catppuccin Mocha) + Oh My Zsh + Atuin + fzf
- Shell 61.7%
- Lua 38.3%
|
|
||
|---|---|---|
| atuin | ||
| fzf | ||
| starship | ||
| wezterm | ||
| zsh | ||
| install.sh | ||
| README.md | ||
Terminal Dotfiles
WSL2 Ubuntu terminal setup with Zsh, Starship (Catppuccin Mocha), Oh My Zsh, Atuin, fzf, and WezTerm.
What's Included
| Component | Config | Description |
|---|---|---|
| Zsh | zsh/.zshrc |
Shell config with Oh My Zsh, Starship, Atuin, fzf |
| Starship | starship/starship.toml |
Catppuccin Mocha prompt with rounded powerline segments |
| Aliases | zsh/custom/aliases.zsh |
Navigation, Docker, SSH, VPS shortcuts |
| Banner | zsh/custom/banner.zsh |
Startup banner with hex logo, service checks, braille spinner |
| Atuin | atuin/config.toml |
Shell history search configuration |
| fzf | fzf/.fzf.zsh |
Fuzzy finder shell integration |
| WezTerm | wezterm/wezterm.lua |
GPU-accelerated terminal with Hive Dark theme, WSL2 domain, Lua keybindings |
Prerequisites
- Zsh + Oh My Zsh (
~/.oh-my-zsh/) - Starship prompt (
starship.rs) - CaskaydiaCove Nerd Font (required for icons and powerline glyphs)
- Atuin (optional — shell history search)
- fzf (optional — fuzzy finder)
- WezTerm (optional — GPU-accelerated terminal emulator)
Zsh plugins (install to ~/.oh-my-zsh/custom/plugins/):
zsh-autosuggestionszsh-syntax-highlighting
Install
git clone ssh://git@git.b-tech.io:2223/prohive/terminal-dotfiles.git
cd terminal-dotfiles
./install.sh
The installer creates symlinks from this repo to the target locations (~/.zshrc, ~/.config/starship.toml, etc.) and backs up any existing files with a .bak suffix.
Prompt
Starship with Catppuccin Mocha palette, rounded segment transitions:
tarik …/project main +/- 🐍 3.12.3 1GiB/15GiB 80% 23:19
╰─➜ _
Banner
Displayed on every interactive shell with animated service status checks:
▄████▄
▄█▀ ▀█▄
██ ▄██▄ ██
██ ▀██▀ ██
▀█▄ ▄█▀
▀████▀
╭── ProHive · Laptop ─────────────────────────────────────────╮
│ │
│ ● Docker ○ SSH ● DB 192.168.178.46 │
│ │
╰────────────────────────────────────────────────────────────────╯
WezTerm
GPU-accelerated terminal with Lua scripting, replacing Windows Terminal. Includes:
- Hive Dark color scheme (ported from Windows Terminal + Catppuccin Mocha tab bar)
- CaskaydiaCove Nerd Font, WSL2 default domain
- Profile launcher via
+button — Ubuntu WSL, PowerShell 7, Git Bash, CMD - Smart tab titles — auto-detects running process (Ubuntu, PowerShell, Git Bash, Claude Code)
- Pane splitting (
Alt+Shift+D/E), navigation (Alt+hjkl), resize (Alt+Shift+HJKL) - Tab navigation (
Alt+1-4), zoom toggle (Ctrl+Shift+Z) - Right-click paste
On WSL2, the installer copies wezterm.lua to the Windows side (C:\Users\<user>\.wezterm.lua).
File Structure
terminal-dotfiles/
├── README.md
├── install.sh
├── zsh/
│ ├── .zshrc
│ └── custom/
│ ├── aliases.zsh
│ └── banner.zsh
├── starship/
│ └── starship.toml
├── atuin/
│ └── config.toml
├── fzf/
│ └── .fzf.zsh
└── wezterm/
└── wezterm.lua
Uninstall
Remove symlinks and restore backups:
# Example for one file:
rm ~/.zshrc && mv ~/.zshrc.bak ~/.zshrc