Elementary OS 5.0 Juno + oh_my_zsh

Alex Eagle
4 min readDec 5, 2018

There is no doubt that default terminal shipped with Elementary OS is amazing. The question is how to make it smarter, I think you already know the answer by the title of this article :)

Oh My Zsh will not make you a 10x developer…but you might feel like one.

Once installed, your terminal shell will become the talk of the town or your money back! With each keystroke in your command prompt, you’ll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, “that is amazing! are you some sort of genius?”

Finally, you’ll begin to get the sort of attention that you have always felt you deserved. …or maybe you’ll use the time that you’re saving to start flossing more often.

DISCLAIMER: I hold no responsibility if you kill your system while doing this

Without further due let’s get started:

⌘ + T Open terminal, or find it in the Application menu top right corner

  1. Updating cache of your repository
sudo apt-get update

2. Install ZSH

(it will ask if you want to continue just type Y)

sudo apt-get install zsh

3. Make sure you installed it successfully (will show the version of ZSH)

zsh --version

4. Checking path to the path to ZSH shell

whereis zsh

Should output this: (in bold path we need for next command)

zsh: /usr/bin/zsh /usr/lib/x86_64-linux-gnu/zsh /bin/zsh /etc/zsh /usr/share/zsh /usr/share/man/man1/zsh.1.gz

5. Setting ZSH as the default shell:

sudo usermod -s /usr/bin/zsh $(whoami)

6. Installing Oh My Zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Before you reboot make sure you already following me, and added this article in your bookmarks.

7. Reboot

sudo reboot

After reboot open terminal again, now it will prompt you to select default configuration. Press 2 on the keyboard and hit Enter.

This option should create a new ~/.zshrc configuration file with the recommended settings that we will modify later

8. Installing Powerline & Powerline Fonts for ZSH

(it will ask if you want to continue just type Y)

sudo apt-get install powerline fonts-powerline

9. Installing ZSH Powerlevel9k Theme

sudo apt-get install zsh-theme-powerlevel9k

10. Installing Syntax Highlighting for ZSH Shell

sudo apt-get install zsh-syntax-highlighting

11. Install git (optional)

sudo apt-get install git

12. Enable Powerlevel9k Theme

echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc

13. Enable Syntax Highlighting

echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc

14. Edit .zshrc config file

nano ~/.zshrc

Find a line starting with ZSH_THEME= and change it so it look like this:

ZSH_THEME="agnoster"

Apply your changes by Ctrl + x and then pressing Y and then Enter to save the file. Then close your terminal and open again, you should see your terminal at all its glory*:

*I mean almost, we are still missing the Powerline Fonts support, so lets fix it

If you have never added a PPA on Juno before, you might need to run this command first:

sudo apt-get install software-properties-common

15. Installing Elementary OS Tweaks

sudo add-apt-repository ppa:philip.scott/elementary-tweaks && sudo apt-get update
sudo apt-get install elementary-tweaks

16. Go to Applications -> System Settings

Click on option Tweaks
Select Roboto Mono for Powerline Regular as your Momospace Font

--

--