I started using Linux almost a year ago as my main OS which provided a great experience. The terminal provided a lot more freedom from windows cmd or power-shell, which prompted me to do some digging about the terminal so that I can use it to its full extent.
Then I stumbled upon ZSH (Z-shell) which is based on BASH and has the same features as BASH plus some interesting plugins and theme options.
So here's my setup for ZSH.
Installing ZSH
Make sure that you have curl and git installed if not then just install them.
Later install ZSH
Adding OhMyZSH
You can search for it or enter the following command.
This will add OhMyZSH.
There will be a prompt asking to make it default terminal press enter there.
Making it the way you want...
So the default ZSH theme is good but I know most of them used agnoster
as their theme.
Moreover, it requires some special fonts to work properly. So let's install them.
Later add the theme to the zshrc file.
ZSH_THEME="agnoster"
Then save the file and close the editor and source the file
And Voila! the theme and fonts should be applied to the terminal now.
NOTE: If the fonts are not yet seen then try logging out and back in or better restart your PC. I did face issues with it too.
You can even set it to random which will show you various themes every time you close and open a new terminal and the one you like you can just set it as your default.
Plugins
The plugins offered by OhMyZSH are great in helping as they provide wonderful aliases.
NOTE: If adding a lot of plugins they do slow the startup of the shell. But there's a fix for that
too called instant prompt
You can find all the plugins at the link below:
https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins
My two favorite are these:
- zsh-autosuggestions
- zsh-syntax-highlighting
You can install them with these or referring to the documentation.
and then adding it to the zshrc file
and sourcing it.
As it has been a year I have tweaked it much more.
Now I use the powerlevel10k
theme which is super cool. you can check it out too they have an
initial setup that shows all the customization they have provided so go ahead and experiment and
choose whichever you like. Moreover, WSL too supports it.
So this is my current terminal and I 😉 want to see yours too.