I have been a bash user ever since I started using Linux. But after installing Arch Linux I wanted to give another shell a try and so decided on Zsh. Below is how I went about replacing bash with Zsh.
Zsh is installed via pacman.
$ sudo pacman -S zsh
Check that Zsh has been installed by running it from the terminal.
Since this is the first time that Zsh has been run you should now see zsh-newuser-install which will allow you to setup some basic configuration. If you wish to skip this just press the q key. You can always manually run this with the below commands at a later date.
$ autoload -Uz zsh-newuser-install $ zsh-newuser-install -f
Changing The Default Shell
Installing Zsh does not automatically make it the system's default shell. The next time you log back in you will find that your current shell is still in use. You can check which shell is been used by looking at the SHELL environment variable.
$ echo $SHELL /bin/bash
To see a list of shells that have been installed use the chsh command.
$ chsh -l /bin/sh /bin/bash /usr/bin/git-shell /bin/zsh /usr/bin/zsh
The same command can be used to change the default shell by providing it with the full path to the shell.
$ chsh -s /bin/zsh
Note that this change is not instant and you will need to log out and log in again for it to take affect. Once you have done that check the SHELL environment variable again to confirm the change.
$ echo $SHELL /bin/ksh
Powerlevel10k is a theme for Zsh and in order to make the most of it you should install the Meslo Nerd Font that has been patched for Powerlevel10k.
$ yay -Sy --noconfirm ttf-meslo-nerd-font-powerlevel10k
You need to configure your terminal to use this font. How this is done is dependant upon what terminal you are using. Since I use st from suckless I need to edit the file config.h and specify MesloLGS NF in the font settings.
static char *font = "MesloLGS NF:pixelsize=14:antialias=true:autohint=true";
Before rebuilding st.
$ sudo make install
Now that the dependences have been meet Powerlevel10k can be installed.
$ yay -Sy --noconfirm zsh-theme-powerlevel10k-git
Once it has been installed ensure that Zsh loads Powerlevel10k.
$ echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc
You can now open a new terminal which will start the Powerlevel10k configuration wizard. This will ask you a few questions and configure your prompt. If it doesn't trigger automatically, type p10k configure.
Once the configuration wizard has finished open a new terminal and you should see the Powerlevel10k theme been used.