ZSH appears to be the future of console/terminal interaction on computers. As a result, we should make ourselves at home and customize every part of it. Enter oh-my-zsh… the terminal themeing and customization engine of our dreams! Ok, that’s a little cheezy, but it is good. I’m generally a purist and a pessimist of change, but some of the design and functionality enhancements that ZSH brings to the table.

The trouble comes when you try to install this on a full Linux system. I initially had trouble installing this on one of my Linux workstations, however that has since been resolved. Here’s the steps that I took to get ZSH and oh-my-ZSH installed on an Ubuntu-based system:

First and foremost, make sure everything is up to date:

sudo apt update
sudo apt upgrade

Install the pre-requisite packages:

sudo apt install zsh
sudo apt-get install powerline fonts-powerline

Clone the oh-my-zsh repo:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Copy & create the ZSH config file:

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

Choose a theme to start with. I started with agnoster:

vi ~/.zshrc

You can change the theme by locating the line:

ZSH_THEME="robbyrussell"

Replace robbyrussell with agnoster and save the file.

Last Step: Change your default shell:

chsh -s /bin/zsh

Logout & log back in to see the fruits of your labor.

Extra Credit:

You can get syntax highlighting by installing the following:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.zsh-syntax-highlighting" --depth 1

Add the script to your .zshrc file:

echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"

Enjoy and have fun! If you have any questions, feel free to drop me a line.