Pimp your Terminal
I’ve always been a sucker for pimping my Linux installs. I’m currently running a nice NEON looking Gnome on all my Linux workstations, with matching IDE. So, why not take it a level further, and pimp my terminal?
Below I’ll outline the steps on how to get from:
The basis of all this glory is called Oh-my-ZSH from robbyrussel. His repo can be found here:
Oh-my-Zsh is a configuration manager for the zsh terminal emulator. Basic steps on how to get started can be found on the github page. To summarize, you will need:
- Any Unix-like OS (duh…)
- wget or curl
Install zsh first. I’m running Fedora, so for me it will be:
sudo dnf install zsh
Next up, we grab the Oh-my-Zsh installer and pump it into sh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)
You can test your installation by simple running ‘zsh’ in any active terminal session. This should drop you into the basic ‘robbyrussel’ themed zsh:
Now, to get fancy.
I’m running the powerlevel9k theme by bhilburn (https://github.com/bhilburn/powerlevel9k.git)
To get it, simply execute:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
This will grab the theme from the repo and drop in in our Oh-my-Zsh custom themes directory.
This theme require the Powerline Fonts package in order to render the graphics for git branches, execution status and more.
These fronts can be directly downloaded from git at: https://github.com/powerline/fonts
If you are running any Debian or Fedora based distribution, you can also grab the latest version from you repo.
sudo dnf install powerline-fonts
sudo apt install fonts-powerline
To actually enable the theme, we will need to edit our ~/.zshrc config file:
Look for the ZSH_THEME variable, and change it to:
In general, you need to point a .zsh-theme file. Our powerlevel9k theme is located in a subdirectory, and as such we need to include the directory in our ZSH_THEME variable. Oh-my-Zsh will take care of adding the .zsh-theme extension for the variable.
As a last step, we want to set zsh as our default terminal. Execute:
chsh -s $(which zsh)
Make sure to logout and login before you can see the changes.
Oh-my-Zsh allows for the installation of plugins, which can be found on robbyrussell’s github. I personally use:
Plugins can be installed by cloning or downloading the plugin from git into ~/.oh-my-zsh/plugins and adding the foldername to ~/.zshrc under plugins:
And that should be it. You should now be set with a pimped-out terminal!