Oh My Zsh + PowerLevel10k = 😎 terminal

Pre-requisites

Setup zsh

brew install zsh
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
ZSH_THEME="powerlevel10k/powerlevel10k"
  • Make sure your terminal font is FiraCode NF.

Cheat-sheet for Windows

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

p10k configure

p10k configure

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

sudo apt install ruby-full

exa

brew install exa
plugins=( git zsh-syntax-highlighting zsh-autosuggestions )
if [ -x "$(command -v colorls)" ]; then
alias ls="colorls"
alias la="colorls -al"
fi
if [ -x "$(command -v exa)" ]; then
alias ls="exa"
alias la="exa --long --all --group"
fi
source ~/.zshrc

Finally it should be like this 👇

--

--

--

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

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Design beautiful apps for iOS 12 with Justinmind 8.6

Lean Expectations — PoC, Prototype, MVP

Serverless API with Firebase

Why I Switched Careers to Become a Software Engineer

How to Setup an Ad Blocking WireGuard VPN Server with PiHole in the Cloud for Free

How to use TensorFlow on TACC supercomputer

Introduction to Java NIO…

LINQ to Entities does not recognize the method EntityFunctions.TruncateTime

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Abdfnabd

Abdfnabd

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

More from Medium

What happens when you type ls -l *.c` in the shell.

Ingesting and processing multiple lines in Linux using an array and loops.

bash Install & Config

Let’s start using Wazaterm