Sitemap

Oh My Zsh + PowerLevel10k = 😎 terminal

3 min readApr 12, 2021

Hi there, The developers always use the terminal, but it is boring and has no colors or shapes.
Today we will transform our terminals into a wonderful, colorful, supportive terminal that offers suggestions and has a memory, we’ll do it by OMZ and design it by PowerLevel10k…

Pre-requisites

if you’re using Windows, you can install and configure WSL

and I recommended to use Ubuntu or Debian wsl plugin

Setup zsh

in the command line type

brew install zsh

type zsh

zsh

Install Oh My Zsh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

PowerLevel10k

  • Install Powerlevel10k using the following command
# gh cli
gh repo clone romkatv/powerlevel10k $ZSH_CUSTOM/themes/powerlevel10k
# git
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Then you need to enable it, change the value of ZSH_THEME to following in ~/.zshrc file :

ZSH_THEME="powerlevel10k/powerlevel10k"

Configure Powerlevel10k Theme

  • Make sure your terminal font is FiraCode NF.

font link: url

for windows users: url

Press enter or click to view image in full size

Cheat-sheet for Windows

if you’ve Windows terminal you can open your settings and in UNIX preferences and add fontFace prop,
assign it to FiraCode NF.

{
"guid": "{YOUR_UNIX_GUID}",
"hidden": false,
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl",
"fontFace": "FiraCode NF",
"snapOnInput": true,
"useAcrylic": true
}

Windows Terminal url in Microsoft Store: url

Windows Terminal repo: url

p10k configure

type

p10k configure
Press enter or click to view image in full size

you can choose your style…

Plugins (Optional, Good to have!)

Clone plugins

  • zsh-syntax-highlighting — It enables highlighting of commands whilst they are typed at a zsh prompt into an interactive terminal. This helps in reviewing commands before running them, particularly in catching syntax errors.
# gh cli
gh repo clone zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# git
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • zsh-autosuggestions — It suggests commands as you type based on history and completions.
# gh cli
gh repo clone zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# git
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

ls tools

  • colorls: A Ruby script that colorizes the ls output with color and icons
  • exa: is a modern replacement for ls

colorls

sudo gem install colorls

warn 🙃

maybe you’ll get some gem errors, you should fix it

Linux

sudo apt install ruby-full

exa

brew install exa

Activate the plugins

In ~/.zshrc file replace the line starting with plugins=() to below line.

plugins=( git zsh-syntax-highlighting zsh-autosuggestions )

colorls

if [ -x "$(command -v colorls)" ]; then
alias ls="colorls"
alias la="colorls -al"
fi

or exa

if [ -x "$(command -v exa)" ]; then
alias ls="exa"
alias la="exa --long --all --group"
fi

Some more official plugins — ohmyzsh plugins

after all these steps type

source ~/.zshrc

Finally it should be like this 👇

Mac

Press enter or click to view image in full size

Windows(WSL) or Linux

Press enter or click to view image in full size
Press enter or click to view image in full size

check out my new cli app secman

That’s it, see you next time 👋

--

--

Abdfnabd
Abdfnabd

Written by Abdfnabd

someone likes CLI/TUI apps, automation, server-sides, and backend.

Responses (1)