Configs

Terminal setup Terminal

The default shell is sh that is symlinked to bash in most Linux distros

Ensure at least one Powerline or Nerd Font is installed to support special characters or glyphs in your theme. Refer my Fonts Guide


Shell: ZSH ZSH


Instead of just one .zshrc file, you can separate your ZSH config into these files:

Config file Purpose
~/.zshenv Loaded for all zsh invocations (whether it’s interactive login or scripts). Used to store environment variables like PATH, EDITOR, LANG etc.
~/.zshrc Loaded in non-login interactive shell, such as when you open the terminal. Used to store aliases, shell prompt, load plugins or functions, some UI tweaks etc.
~/.zprofile Loaded only ONCE per session in your login shell. Used for session setup (like example SSH stuff), starting services etc.

You can refer my .zshrc and .zshenv config files


ZSH Plugins (manual updates)


Terminal Emulator: WezTerm WezTerm

WezTerm is my preferred GPU-accelerated terminal emulator. Other popular options are Alacritty, Kitty or Ghostty

Following the Linux install instructions:


Shell prompt: Starship Starship


Useful CLI Utils

Package Description
fzf Fuzzy finder
bat Colored cat
eza Colored ls
jq Pretty JSON
ripgrep (rg) Regex grep
zoxide (z) Smarter cd

Install those utils via your package manager:

# Fedora (dnf):
sudo dnf install -y fzf bat jq eza ripgrep zoxide
# Ubuntu (apt):
sudo apt install -y fzf bat jq eza ripgrep zoxide

Watch this video for a quick demo showcase 👇

More optional utils: