WSL2 Ubuntu terminal setup: Zsh + Starship (Catppuccin Mocha) + Oh My Zsh + Atuin + fzf
  • Shell 61.7%
  • Lua 38.3%
Find a file
Claude Code (Laptop) 4f8bf032bc fix(aliases): route qw alias through Cortex Core :5190 instead of legacy llama.cpp proxy :11444
Co-Authored-By: Claude Code (Laptop) <claude-laptop@b-tech.local>
2026-04-09 21:45:59 +02:00
atuin feat: initial terminal dotfiles setup 2026-02-05 00:04:29 +01:00
fzf feat: initial terminal dotfiles setup 2026-02-05 00:04:29 +01:00
starship feat: initial terminal dotfiles setup 2026-02-05 00:04:29 +01:00
wezterm feat(config): add profile launcher, smart tab titles, right-click paste to WezTerm 2026-02-05 01:29:02 +01:00
zsh fix(aliases): route qw alias through Cortex Core :5190 instead of legacy llama.cpp proxy :11444 2026-04-09 21:45:59 +02:00
install.sh fix(install): copy wezterm config to Windows instead of symlink 2026-02-05 00:55:05 +01:00
README.md feat(config): add profile launcher, smart tab titles, right-click paste to WezTerm 2026-02-05 01:29:02 +01:00

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-autosuggestions
  • zsh-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