Terminal Setup

Below is my terminal setup configuration. Zsh, Starship, Fastfetch, and shell configuration.

Prerequisites

  • Zsh

    Modern shell (pre-installed on macOS, install on Linux)

  • Git

    Version control system

  • Homebrew

    Package manager for macOS/Linux (brew.sh)

Linux Installation

Run this one-liner to install all required packages:

sudo apt update && sudo apt install -y zsh git curl wget

Install Required Packages

Install Starship, Fastfetch, and other tools via Homebrew:

brew install starship fastfetch eza bat fzf zoxide

Configure Zsh

Backup your existing .zshrc (if any):

cp ~/.zshrc ~/.zshrc.backup

Create a new .zshrc file and paste the configuration below:

Configure Fastfetch

Create the fastfetch config directory:

mkdir -p ~/.config/fastfetch

Create the config file:

.zshrc Configuration

# Enable Starship prompt
eval "$(starship init zsh)"

# Enable zoxide (smarter cd)
eval "$(zoxide init zsh)"

# Aliases
alias ls="eza --icons"
alias cat="bat"
alias ff="fastfetch"

# FZF
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

Fastfetch Configuration

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json-schema.json",
  "logo": {
    "type": "small"
  },
  "modules": ["title", "separator", "os", "kernel", "uptime", "shell", "terminal"]
}

Apply Configuration

Reload your shell configuration:

source ~/.zshrc

Or simply restart your terminal

Source Repository

Full configuration files, documentation, and updates available on GitHub.

Command Palette

Search for a command to run...