Terminal

Zsh Terminal Plugins for Manjaro’s Default Theme using Oh-My-Zsh

Add plugins and modify your Manjaro terminal using Oh-My-Zsh taking your experience to the next level.

Majaro Default Terminal

Getting started with Manjaro, you will notice a nice default zsh terminal. You’ll want this guide if you’d like additional plugins. Using Oh-my-zsh you can easily make this happen.

The default theme’s features

The default zsh theme for manjaro is powerlevel10k.
It also comes with three plugins:

  • zsh-autosuggestions
  • zsh-history-substring-search
  • zsh-syntax-highlighting

These plugins are extemly useful and the reason I, and many others, prefer zsh. Now let’s get started!

Installing oh-my-zsh

Open your terminal and run pamac
sudo pamac install oh-my-zsh

You will get a prompt like:

Preparing...

Choose optional dependencies for oh-my-zsh:
1:  oh-my-zsh-powerline-theme-git: great theme
2:  bullet-train-oh-my-zsh-theme-git: better powerline theme

Enter a selection (default=none):

I’m hitting enter for none.

You can look at some of the options for oh-my-zsh in the /usr/share/oh-my-zsh/zshrc file. I’m not going to be copying and pasting this into our ~/.zshrc file because we will lose some of our features already in the default theme.

Adding oh-my-zsh and some plugins

Open ~/.zshrc
nano ~/.zshrc
when you open your ~/.zshrc file you should be greeted with the following. If not, copy and paste this information in. Having no ~/.zshrc could be the case if you created this user youreslf.

~/.zshrc

# Use powerline
USE_POWERLINE="true"
# Source manjaro-zsh-configuration
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
  source /usr/share/zsh/manjaro-zsh-config
fi
# Use manjaro zsh prompt
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
  source /usr/share/zsh/manjaro-zsh-prompt
fi

Now add this to the top of the file:

export ZSH="/usr/share/oh-my-zsh"

And this to the end:
Check out what these plugins do in this article

plugins=(
    copybuffer
    copydir
    copyfile
    dirhistory
    emoji
    encode64
    git
    history
    jsontools
    kubectl
    rsync
    sudo
    web-search
)

source $ZSH/oh-my-zsh.sh

~/.zshrc should now look like this

export ZSH="/usr/share/oh-my-zsh"

# Use powerline
USE_POWERLINE="true"
# Source manjaro-zsh-configuration
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
  source /usr/share/zsh/manjaro-zsh-config
fi
# Use manjaro zsh prompt
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
  source /usr/share/zsh/manjaro-zsh-prompt
fi

plugins=(
    copybuffer
    copydir
    copyfile
    dirhistory
    emoji
    encode64
    git
    history
    jsontools
    kubectl
    rsync
    sudo
    web-search
)

source $ZSH/oh-my-zsh.sh

The full list of optional plugins for Oh-my-zsh is here:
ohmyzsh plugin github

Finally, update your currently running terminal with:
source ~/.zshrc