Setup Terminal⚓︎
Install ZSH⚓︎
sudo apt install zsh
# If on Mac, install homebrew
# https://brew.sh/
brew install zsh
Make ZSH the default shell⚓︎
chsh -s /bin/zsh
Restart your terminal to see the change. Check if you are using ZSH:
echo $SHELL
# Should output => /usr/bin/zsh
Install Oh-My-ZSH⚓︎
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Restart your terminal.
Install powerlevel10k theme⚓︎
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
Install Nerd Fonts⚓︎
- Download Firacode Nerd Font
- Open font file ending in
.ttf
and click install font - Go to your terminal settings and select the font you just installed i.e.
Fira Code Nerd Font
Refer to this guide if you want to install other custom fonts.
Install ZSH Plugins⚓︎
# Install zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
# Install zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
Edit your .zshrc
⚓︎
- Open
~/.zshrc
in code editor of your choice - Find the line that says
ZSH_THEME="robbyrussell"
- Change the line to
ZSH_THEME="powerlevel10k/powerlevel10k"
-
Look for the line that says
plugins=(...)
and update the line with the following (only add the plugins you want):plugins=( adb # adb completions archlinux # archlinux completions / helpers asdf # asdf completions autojump # 'j' command for smart cd aws # aws completions colored-man-pages # colorize man pages common-aliases # common-aliases for ls, file-handling, find, etc. copybuffer # binds ctrl-o to copy currently typed cmd docker # docker aliases docker-compose # docker-compose aliases fancy-ctrl-z # ctrl-z opens/closes vim fzf # fzf autocompletions & bindings gh # github cli git # git alias/completions git-extras # awesome git scripts gitfast # faster git gpg-agent # enables gpg agent if not running helm # helm autocompletions httpie # httpie autocompletions kubectl # kubectl completions/aliases minikube # minikube completions npm # npm aliases pnpm # pnpm aliases (custom: https://github.com/ntnyq/omz-plugin-pnpm) poetry # python poetry autocompletions python # python aliases ripgrep # ripgrep autocompletions rsync # rsync aliases systemd # systemd aliases systemadmin # aliases/functions to make system admin's life easier tmux # tmux completions/aliases urltools # urlencode and urldecode strings yarn # yarn completions/aliases zoxide # initializes zoxide (smart cd with 'z') zsh-autosuggestions # zsh auto suggestions zsh-interactive-cd # interactive tab completion for cd zsh-navigation-tools # set of zsh nav tools (n-history, n-cd, n-kill, n-list) zsh-syntax-highlighting # zsh syntax highlighting !! must be last )
-
Save and close the file
If you face any errors after restarting the terminal, please comment out or install the missing plugins manually from your .zshrc
.
Setup powerlevel10k⚓︎
# Setup powerlevel10k (p10k)
p10k configure
You will be asked to select theme options. It will be similar to the screenshot below: