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:

default

To this:

fancy

Oh-my-Zsh

The basis of all this glory is called Oh-my-ZSH from robbyrussel. His repo can be found here:

https://github.com/robbyrussell/oh-my-zsh

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…)
  • Zsh
  • Git
  • 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.

Powerlevel9k

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.

For Fedora:

sudo dnf install  powerline-fonts

For Debian:

sudo apt install  fonts-powerline

To actually enable the theme, we will need to edit our ~/.zshrc config file:

vim ~/.zshrc

Look for the ZSH_THEME variable, and change it to:

ZSH_THEME="powerlevel9k/powerlevel9k"

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.

Plugins

Oh-my-Zsh allows for the installation of plugins, which can be found on robbyrussell’s github. I personally use:

  • Zsh-syntax-highlighting
  • Zsh-autosuggestions

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:

plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions

And that should be it. You should now be set with a pimped-out terminal!

Steps and information in the post where taken from Michiel Mulders Medium article , Kevin Mets github tutorial for powerlevel9k and robbyrussell’s github page.