ZSH4Humans – Easily change your Default shell to ZSH

Manjaro Linux’s terminal has a really beautiful shell that gives you the current directory and its location in a really pleasant manner. This is a customized and themed version of the Z shell (or ZSH).

Now let’s say you want to have the same configuration on a different Linux distribution, you will have to install ZSH first from your package manager and then configure its look all by yourself. And then you will finally add an alias to the ZSHRC file. This is a really long process, but the community has developed a scrip through which you can easily install ZSH and modify it at the same time.

In this article, we will be installing ZSH from the ZSH4Humans script.

Also Read: How to run a .sh file in Linux

Run the ZSH4Humans Script

Open a Terminal and copy-paste the following commands, regardless of which distribution you are using :

Run The Zsh4humans Script
Run The Script
if command -v curl >/dev/null 2>&1; then
  sh -c "$(curl -fsSL https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)"
else
  sh -c "$(wget -O- https://raw.githubusercontent.com/romkatv/zsh4humans/v5/install)"
fi
Answer The Questions According To Your Preference
Answer The Questions According To Your Preference

After the script runs, you will be asked a few questions regarding your Keyboard layout, your preferred Key bindings, and whether you run Tmux and direnv.

Choose Between Deleting Or Keeping Old Config Files
Choose Between Deleting Or Keeping Old Config Files

If you are already using zsh, and you just want to make the layout different, the script will ask you to keep the old config files. I will delete them, but you can create a backup as well.

Select Prompt Style
Select Prompt Style

Finally, The script will ask you to select your preferred style of the prompt, you have four options, Lean, Classic, Rainbow and Pure. I will select Rainbow (3), but you should choose the prompt which you like the most.

Select Character Set Now
Select Character Set Now

The script will now ask you to select the character set, the options are ASCII and Unicode (Notice the ‘>’ and ‘U’ shaped structure in the second line of the prompt). I will select Unicode, but you can select any option.

You Can Choose Whether To Show Time
You Can Choose Whether To Show Time

The Z Shell can also show you time in the terminal, and the Script is asking you to pick between showing it in 12 or 24-hour time format, or not showing it at all.

Select Seperator According To Your Preference
Select Separator According To Your Preference

Next, you can select the separator to be angled or vertical. I’ll select angled, but you can pick between any one of them.

Choose Between The Heads
Choose Between The Heads

In the next few settings, the script will ask you to select the look of the heads and tails of the prompt. I like Sharp, but you can pick between Sharp and Blurred.

Choose If You Prefer One Or Two Lines Of Prompt
Choose If You Prefer One Or Two Lines Of Prompt

Next, the script will ask your preference regarding the prompt being in one or two lines, I’ll select two lines. And now it will now ask me to change the look of the Frame, and it’s spacing. The script will now close automatically, and you will now be greeted with the beautiful ZSH.

Also, this script automatically creates a .ZSHRC file along with some key bindings and terminal shortcuts, you can view them by opening the file in your text editors such as vim or nano. Type :

vim .zshrc

You can even modify the behavior of some keystrokes by modifying the file, but after that, make sure that you run the following command in order to refresh the shell. Type :

exec zsh

Summary

If in the future you have to change any configuration of the shell, just type:

pk10 configure

The shell also offers you to show icons in the terminal, but only if you install a font name ‘MesloLGS NF’ and set it as the default font of the Terminal.

References

GitHub Documentation of ZSH4Humans