Terminal Setup - Terminator + ZSH + Powerlevel10k
terminal is more than just a black screen to type in. It usually runs a shell, so called because it wraps around the kernel. The shell is a text-based interface that lets you run commands on the system. Itβs also sometimes called a command line interpreter or CLI. Fedora, like most Linux distributions, comes with bash as the default shell.
This article focuses on the Z Shell, or zsh.
Bash is a rewrite of the old Bourne shell (sh) that shipped in UNIX. Zsh is intended to be friendlier than bash, through better interaction. Some of its useful features are:
Programmable command line completion Shared command history between running shell sessions Spelling correction Loadable modules Interactive selection of files and folders
What will be setup?
Terminator terminal to support splitting the terminal screen vertically and horizontally into multiple windows. Extremely useful when working with distributed systems like blockchain. ZSH framework to add productivity plugins and custom color themes. Powerlevel10k for "speed, flexibility and out-of-the-box experience.
Run System Update
1dnf update
2Installing Zsh in Fedora System
Zsh can be found in the Fedora repositories and can be installed using the following dnf command.
Zsh is available in the Fedora repositories. To install, run this command:
1$ sudo dnf install zsh
21zsh --version
2or
Install oh-my-zsh on Fedora 33
Oh-my-Zsh framework can be installed by either using the curl or wget commands as shown below;
1sudo dnf install wget curl
2sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
3or
1sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
2
3Using zsh
To start using it, just type zsh and the new shell prompts you with a first run wizard. This wizard helps you configure initial features, like history behavior and auto-completion.
Making Zsh as Default Shell in Fedora
Zsh offers a lot of plugins, like zsh-syntax-highlighting, and the famous βOh my zshβ (check out its page here). You might want to make it the default, so it runs whenever you start a session or open a terminal. To do this, use the chsh (βchange shellβ) command:
1$ chsh -s $(which zsh)
2This command tells the system that you want to set (-s) your default shell to the correct location of the shell ( zsh).
PowerLevel10k Theme
The great thing about ZSH is the level of ization possible. I found this theme which looks pretty solid: https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k
Install the theme
1git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
2
3echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc
4
5source ~/.zshrc
6Adding emojies
When it comes to Chrome, you have basically two ways how to display color emojis. You can either install EmojiOne or Google Noto Color Emoji. Although I first tried to use the former, I was not able to make it work so I decided to stick with the latter.
You first need to install a package with this font by running the following command:
1sudo dnf install google-noto-emoji-color-fonts
2Then you need to create file : $ ~/.config/fontconfig/fonts.conf with the following content:
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
3<fontconfig>
4 <alias>
5 <family>serif</family>
6 <prefer>
7 <family>Noto Color Emoji</family>
8 </prefer>
9 </alias>
10 <alias>
11 <family>sans-serif</family>
12 <prefer>
13 <family>Noto Color Emoji</family>
14 </prefer>
15 </alias>
16 <alias>
17 <family>monospace</family>
18 <prefer>
19 <family>Noto Color Emoji</family>
20 </prefer>
21 </alias>
22</fontconfig>
23
24Finally, you need to apply the new configuration by running:
1fc-cache -f
2Now, you just need to restart Chrome Emojies Emojies Emojies Cairo Emojies
Installation Instructions
1# yum update
2# yum install yum-plugin-copr
3# yum copr enable fujiwara/cairo
4# yum install freetype cairo fontconfig google-noto-emoji-color-fonts
5