back

Terminal

Zsh, Starship, Fastfetch, and shell configuration.

Shell

ShellZsh
PromptStarship

CLI Tools

Starship

Cross-shell prompt

Fastfetch

System info display

zsh-autosuggestions

Fish-like autosuggestions

zsh-syntax-highlighting

Syntax highlighting for Zsh

fzf

Fuzzy finder

bat

Better cat with syntax highlighting

eza

Modern replacement for ls

ripgrep

Fast grep alternative

delta

Better git diff

Installation

Run these commands to install all the CLI tools using Homebrew.

install.sh
bash
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install CLI tools
brew install starship
brew install fastfetch
brew install fzf
brew install bat
brew install eza
brew install ripgrep
brew install git-delta
brew install zsh-autosuggestions
brew install zsh-syntax-highlighting
# Setup fzf key bindings
$(brew --prefix)/opt/fzf/install

.zshrc

My Zsh configuration with aliases, plugins, and settings.

.zshrc
zsh
1# Path
2export PATH="$HOME/.local/bin:$PATH"
3
4# Starship prompt
5eval "$(starship init zsh)"
6
7# Plugins
8source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
9source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
10
11# Aliases
12alias ls="eza --icons --group-directories-first"
13alias ll="eza -la --icons --group-directories-first"
14alias cat="bat --style=plain"
15alias grep="rg"
16alias vim="nvim"
17alias g="git"
18alias gc="git commit"
19alias gp="git push"
20alias gl="git pull"
21alias gst="git status"
22alias gd="git diff"
23alias gco="git checkout"
24
25# FZF
26[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
27export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border"
28
29# History
30HISTSIZE=10000
31SAVEHIST=10000
32HISTFILE=~/.zsh_history
33setopt SHARE_HISTORY
34
35# Fastfetch on terminal open
36fastfetch

starship.toml

Starship prompt configuration with custom segments.

~/.config/starship.toml
toml
1# Starship Configuration
2
3format = """
4[░▒▓](#a3aed2)\
5[ ](bg:#a3aed2 fg:#090c0c)\
6[](bg:#769ff0 fg:#a3aed2)\
7$directory\
8[](fg:#769ff0 bg:#394260)\
9$git_branch\
10$git_status\
11[](fg:#394260 bg:#212736)\
12$nodejs\
13$rust\
14$golang\
15$python\
16[](fg:#212736 bg:#1d2230)\
17$time\
18[ ](fg:#1d2230)\
19\n$character"""
20
21[directory]
22style = "fg:#e3e5e5 bg:#769ff0"
23format = "[ $path ]($style)"
24truncation_length = 3
25truncation_symbol = "…/"
26
27[git_branch]
28symbol = ""
29style = "bg:#394260"
30format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
31
32[git_status]
33style = "bg:#394260"
34format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
35
36[nodejs]
37symbol = ""
38style = "bg:#212736"
39format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
40
41[rust]
42symbol = ""
43style = "bg:#212736"
44format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
45
46[golang]
47symbol = ""
48style = "bg:#212736"
49format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
50
51[python]
52symbol = ""
53style = "bg:#212736"
54format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
55
56[time]
57disabled = false
58time_format = "%R"
59style = "bg:#1d2230"
60format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'
61
62[character]
63success_symbol = "[❯](bold green)"
64error_symbol = "[❯](bold red)"