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
Setup zsh
in the command line type
# homebrew
brew install zsh
# apt-get
sudo apt-get 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
secrets manager
- secman: Human-friendly and amazing secrets manager.
# via npm
npm install -g secman
# via script
curl -fsSL https://cli.secman.dev | bash
file transfer app
- tran: Securely transfer and send anything between computers with TUI.
curl -sL https://cutt.ly/tran-cli | bash
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 👋
Top comments (37)
I can recommend exa as a replacement for colorls
the.exa.website/
I myself recommend lsd (lsDeluxe) as the replacement
github.com/Peltoche/lsd
👌
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 🧠
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 🤝
🤝
How are your screenshots generated?
in Windows, press Alt+Print Screen
in MacOS
also in win, you can create a selection by pressing "win + shift + S"
🤝
thanks
Shift+CTRL+Command+4 is a better way to snap selected area..and automatically copy to clipboard
👌
@ombratteng @abdfn
I am not able to get exa working with alias ls.
I ahve added the if stmt you had provided but still ls doesnt print exa's style.
I am on macos big sur with iterm.
execute this command
Salut, j'ai eu un problème parce que oh mon zsh montre un caractère bizarre '?' sur mon terminal sous Ubuntu WSL2.
Je recommande le tutoriel Youtube suivant "HOW TO install powerlevel10k for zsh/oh-my-zsh WITH Nerd Fonts inside WSL" qui montre comment installer "Meslo Nerd Font" sur Windows ce qui résout le problème.
Thank you a lot ths is the first time I can do this I'm so happy thank for you help
❤ glad for help you
Thank you for the exa ls. Really helpful! 😊
It's nice, thank you!
glad to help
broken instruction, p10k is not found. I'll go through source page.
Thank you so much