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 wgetInstall Required Packages
Install Starship, Fastfetch, and other tools via Homebrew:
brew install starship fastfetch eza bat fzf zoxideConfigure 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.zshFastfetch 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.