Skip to content

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:

powerlevel10k