Riced Out Terminal

Updating the appearance of your terminal can be a fun way to personalize your workspace. This tutorial will show you how to use color schemes and a ruby gem called Color LS to transform your Ubuntu terminal into a more visually appealing and functional environment. By the end of this guide, you will have a professional-looking terminal that can improve your daily workflow.
Install base-16-gnome-terminal (Ubuntu 20.04)
The default shell in Ubuntu 20.04 is the Gnome terminal, locate the shell you are using from the link provided and follow the instructions accordingly.
git clone https://github.com/aaron-williamson/base16-gnome-terminal.git ~/.config/base16-gnome-terminal
.config/base16-gnome-terminal/color-scripts/base16-default-dark.sh
# navigate to the color scripts directory to see all of the available color schemes
cd .config/base-16-gnome-terminal/color-scripts
# choose a scheme and execute it
./base16-pop-256.sh
Open the Gnome terminal preferences and set your scheme profile as default. Restart the terminal
Download and install the patched Hack Nerd Font
Nerd Fonts are a set of modified fonts that include additional glyphs or symbols. These fonts are often used in programming and other technical environments to display special characters that are not included in standard fonts. Nerd Fonts are popular among users of terminal emulators and other command-line tools, as they can help to improve the readability and functionality of text-based interfaces. Some popular Nerd Fonts include DejaVu Sans Mono, Fira Code, and Hack.
Download the hack.zip file, extract the contents and install the “Hack Regular Nerd Font Complete.ttf” font. Open the Gnome terminal preferences and set this as your terminal font.
Install Ruby
sudo apt install ruby-full
Install Color LS
Color LS is a Ruby gem that adds color to the output of the ls command, which is used to list the contents of a directory. By default, the ls command displays the names of the files and directories in a directory in plain text. However, when color ls is installed and enabled, the names of the files and directories are displayed in different colors, depending on the type of file or directory. For example, directories may be displayed in blue, while executables may be displayed in green. This can make it easier to quickly identify and differentiate the different types of files and directories in a directory, improving the usability of the terminal.
sudo gem install colorls
Install ZSH
ZSH, also known as the Z shell, is a command-line interpreter or shell for UNIX-based operating systems. It is an extended version of the Bourne shell (sh), with additional features and improvements. ZSH is popular among users of UNIX-based systems, including Linux and macOS, as it provides many powerful features and customization options. Some of these features include enhanced tab completion, better command history, and the ability to define aliases for frequently used commands. ZSH is often used as an alternative to the default shell on many UNIX-based systems.
sudo apt install zsh
Make ZSH your default shell
chsh -s $(which zsh)
Log out and back in again to apply the changes in Ubuntu.
Verify that ZSH is your default shell
echo $SHELL
Install Oh My Zsh
Oh-My-ZSH is a popular open-source framework for managing the ZSH shell. It provides a large collection of plugins and themes for ZSH, which can be easily enabled or disabled to customize the shell’s appearance and functionality. In addition, Oh-My-ZSH includes a set of useful aliases and functions for frequently used commands, as well as support for autocompletion and syntax highlighting. Oh-My-ZSH is widely used by developers and system administrators to quickly and easily configure their ZSH environments. It is easy to install and can be set up with a single command.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Install the PowerLevel10K theme
PowerLevel10K is a popular ZSH theme that provides a modern and powerful appearance for the ZSH shell. It is designed to be fast and responsive, with a clean and efficient interface. PowerLevel10K features a customizable prompt that displays important information, such as the current directory, Git status, and the status of background jobs. It also includes a wide range of colors and font styles, as well as support for Unicode symbols and powerline glyphs. PowerLevel10K is highly configurable and can be customized to suit the user’s preferences. It is easy to install and is compatible with Oh-My-ZSH and other ZSH frameworks.
This will also include the plugins for auto suggestions and syntax highlighting
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
Edit the .zshrc configuration
Use your editor of choice to make the following changes to the .zshrc configuration file in your home directory.
vim .zshrc
# find the ZSH_THEME and change it to
ZSH_THEME="powerlevel10k/powerlevel10k"
# add the following line right below ZSH_THEME to incorporate the patched Hack Nerd font installed earlier
POWERLEVEL10K_MODE="nerdfont-complete"
# uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
# to add the plugins we downloaded, edit plugins=(git) as shown
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
# add the following lines anywhere in your configuration
# Color LS
export LS_COLORS
# create a few aliases to use Color LS by default
alias ls='colorls -A --gs --sd'
alias ll='colorls -lA --gs --sd'
alias lt='colorls --tree --gs --sd'
# save and exit
Run -or- Re-Run the Powerlevel10K theme setup
p10k configure

Riced out Terminal
You are welcome to run the Powerlevel10K configuration setup multiple times to fine-tune the appearance of your terminal. Experiment with the various options provided by Powerlevel10K to customize the appearance to your liking. This will allow you to create a unique and personalized terminal interface that meets your specific needs and preferences. By making use of the customization options available in Powerlevel10K, you can create a terminal interface that is both visually appealing and functionally efficient.