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
and I recommended to use Ubuntu or Debian wsl plugin
- Homebrew is installed
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
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
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 iconsexa: 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
special thanks
special thanks to
to showing me 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
Windows(WSL) or Linux
That's it, see you next time 👋
Discussion (16)
Hello thanks for sharing I have an issue with it some icons is not showing what could make this issue
Hi, the problem is from the font, try
Hack nerd
orMesloLGS NF
fontsthanks for reply I have used both and the issues till there and I even downloaded the 4 fonts from their GitHub repo and install them and I can't see them
What's your system ?
And which terminal do you use ?
Mac os big sur i use the normal terminal and I have installed iterm2 and issue still with icons is there too :)
Ok, go to iTerm preferences, 👉 profiles 👉 general and paste
/bin/zsh
.after this restart iTerm2.
Make sure your font in preferences 👉 profiles 👉 text is
MesloLGS NF
.Go to the terminal and type
and configure your design
Thanks Alot it fixed the issue much appreciated
:)
Anytime bro 🤝
I can recommend exa as a replacement for colorls

the.exa.website/
WOW, It's good, I'll try it 👍, can you tell me what is the font on the image ?
It's FiraCode with NerdFont patches

Nice, I tried exa and it's very powerful
I've got this in my .zshrc file
This is better
Yeah, I wrap all my aliases in if clauses, that way I can share my dotfiles across systems, and not worry if e.g.
exa
isn't installed on that particular machine, I still have the originalls
what an idea, you've an amazing 🧠