In this article, you will learn about the Oh My Zsh! A Fancy Linux shell for developers. #centlinux #linux #zsh
Table of Contents
What is Zsh?
Zsh, short for Z Shell, is an extended version of the Bourne Shell (sh), which is a command-line interpreter for Unix-based operating systems. Zsh offers many enhancements over traditional shells like Bash, including advanced scripting capabilities, improved tab completion, and extensive customization options.
Some key features of Zsh include:
- Advanced Tab Completion: Zsh provides powerful tab completion features that can complete commands, file paths, variables, and more. It can even suggest completions based on context and history.
- Customization: Zsh is highly customizable, allowing users to configure their prompt, aliases, key bindings, and behavior through configuration files like
.zshrc
. - Plugins and Extensions: Zsh supports plugins and extensions through frameworks like Oh My Zsh, which provide additional functionality such as syntax highlighting, auto-completion for various commands and programming languages, and integration with version control systems like Git.
- Powerful Scripting: Zsh offers advanced scripting features, including support for arrays, associative arrays, arithmetic expressions, and more, making it a powerful tool for writing shell scripts.
- Compatibility: Zsh is designed to be mostly compatible with Bourne Shell (sh) syntax, which means that many Bash scripts can run with Zsh without modification.
Overall, Zsh is a versatile and powerful shell that offers an improved command-line experience for both interactive use and scripting on Unix-based systems.

What is Oh My Zsh?
Oh My Zsh is a popular open-source framework for managing Zsh configurations. Zsh (Z Shell) is a powerful command-line interpreter for Unix-based systems, and Oh My Zsh enhances its capabilities by providing various plugins, themes, and helpers to customize and streamline the user’s command-line experience.
With this open-source framework, users can easily install and manage plugins for features such as syntax highlighting, auto-completion, and git integration, among others. It also offers a wide range of themes to customize the appearance of the terminal prompt.
Overall, Oh My Zsh is favored by many developers and power users for its flexibility and productivity-enhancing features in the command-line environment.
Site Reliability Engineering: How Google Runs Production Systems
$24.80 (as of May 15, 2025 16:15 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Oh My Zsh Installation:
Here, we are performing Oh My Zsh Installation on Rocky Linux 9, you can use the same steps for any other Red Hat based Linux distro.
You can install software prerequisites by executing dnf command.
dnf install -y zsh git
Now, you can invoke unattended installation of Oh My Zsh by using following command.
# sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Cloning Oh My Zsh...
remote: Enumerating objects: 1386, done.
remote: Counting objects: 100% (1386/1386), done.
remote: Compressing objects: 100% (1332/1332), done.
remote: Total 1386 (delta 31), reused 1142 (delta 26), pack-reused 0
Receiving objects: 100% (1386/1386), 3.19 MiB | 723.00 KiB/s, done.
Resolving deltas: 100% (31/31), done.
From https://github.com/ohmyzsh/ohmyzsh
* [new branch] master -> origin/master
branch 'master' set up to track 'origin/master'.
Already on 'master'
/root
Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to /root/.zshrc.
I can't change your shell automatically because this system does not have chsh.
Please manually change your default shell to zsh
__ __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/ ....is now installed!
Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.
• Follow us on Twitter: https://twitter.com/ohmyzsh
• Join our Discord community: https://discord.gg/ohmyzsh
• Get stickers, t-shirts, coffee mugs and more: https://shop.planetargon.com/collections/oh-my-zsh
➜ ~
Oh My Zsh has been installed on your Linux server.
Oh My Zsh Themes:
Oh My Zsh currently ships with 150 themes bundled.
Select a Theme:
Robby’s theme is the default theme in Oh My Zsh. It is a clean and minimalistic theme designed to provide a simple yet effective command-line experience.
If you want to use a different theme, you need to edit the ~/.zshrc
configuration file. Open it with a text editor such as Nano or Vim:
# vi ~/.zshrc
Find following environment variable in this file.
ZSH_THEME="robbyrussell"
To use a different theme, simply change the value to match the name of your desired theme. For example:
ZSH_THEME="agnoster"
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Note: Some themes require installing a Powerline Font or a Nerd Font in order to render properly. Without them, these themes will render weird prompt symbols.
You can explore a vast collection of Oh My Zsh themes on GitHub, where developers have contributed numerous themes to customize your terminal experience. To find a theme that best suits your workflow and aesthetic preferences, visit the official Oh My Zsh themes repository:
Once you have selected a theme, you can apply it by editing your ~/.zshrc
file and updating the ZSH_THEME
variable with the desired theme name. After making the changes, reload your shell using:
source ~/.zshrc
To verify that your new theme is applied, simply open a new terminal window. Your command prompt should now reflect the appearance and functionality of the selected theme, making your shell more visually appealing and efficient.

Set ZSH_THEME variable as follows to let the computer select a theme randomly for you, each time you open a new terminal window.
ZSH_THEME="random"
If you want to switch things up and have your terminal display a different theme each time you start a new session, you can configure Oh My Zsh to randomly select a theme from a list of your favorite ones.
To enable this feature, open your ~/.zshrc file using a text editor:
nano ~/.zshrc
Locate the line that defines the theme and modify it to include multiple themes in an array format:
ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
If you only know which themes you don’t like, you can add them similarly to an ignored list.
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Apple 2025 MacBook Air 13-inch Laptop with M4 chip: Built for Apple Intelligence, 13.6-inch Liquid Retina Display, 24GB Unified Memory, 512GB SSD Storage, 12MP Center Stage Camera, Touch ID; Midnight
$1,245.26 (as of May 15, 2025 16:15 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Oh My Zsh Plugins:
Oh My Zsh comes bundled with plugins that’ll make your life as a software developer easier and leave you feeling like a superhero.
It includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
Read Also: Waybar Config: Customizing Linux Status Bar
Enable a Plugin:
Once you spot a plugin (or several) that you’d like to use with Zsh shell, you’ll need to enable them in the ~/.zshrc
file. You’ll find the zshrc file in your $HOME
directory. Open it with your favorite text editor and you’ll see a spot to list all the plugins you want to load.
vi ~/.zshrc
For example, this might begin to look like this:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Note that the plugins are separated by whitespace (spaces, tabs, new lines…). Do not use commas between them or it will break.
Each built-in plugin includes a README, documenting it. This README should show the aliases (if the plugin adds any) and extra goodies that are included in that particular plugin.
Uninstall Oh My Zsh:
If you want to uninstall Oh My Zsh, just run uninstall_oh_my_zsh
from the command-line. It will remove itself and revert your previous bash
or zsh
configuration.
Recommended Training: Complete Linux Training Course to Get Your Dream IT Job 2025 from Imran Afzal

Frequently Asked Questions (FAQs)
1. What is Oh My Zsh?
Oh My Zsh is a framework that enhances the Zsh shell with themes, plugins, and configuration options for developers.
2. How do I install Oh My Zsh?
Run the following command in your terminal:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
3. Can I uninstall Oh My Zsh easily?
Yes, run:
uninstall_oh_my_zsh
This restores your previous shell settings.
4. How do I change the Oh My Zsh theme?
Edit ~/.zshrc
and modify the ZSH_THEME
variable. Apply changes by running source ~/.zshrc
.
5. What are some must-have plugins for Oh My Zsh?
Popular plugins include git
, zsh-autosuggestions
, zsh-syntax-highlighting
, and docker
.
Final Thoughts
As we wrap up our discussion on installing Oh My Zsh!, it’s clear that this tool offers developers a fantastic way to enhance their Linux shell experience. With its plethora of themes, plugins, and customization options, this fancy shell transforms the humble command line into a powerful and visually appealing environment.
By simplifying and streamlining common shell tasks, this Linux Shell! not only boosts productivity but also adds a touch of flair to the developer workflow. Whether you’re a seasoned coder or just getting started, the convenience and flexibility provided by this fancy shell are undeniable.
Furthermore, the vibrant community surrounding Oh My Zsh! ensures that it remains constantly updated and supported, with new features and improvements regularly being introduced. This collaborative spirit fosters innovation and ensures that this fancy shell remains a cornerstone tool for developers worldwide.
In conclusion, if you haven’t already embraced Oh My Zsh!, now is the perfect time to do so. With its easy installation process and endless customization possibilities, it’s no wonder that this fancy shell has become the go-to choice for developers looking to elevate their Linux shell experience. So why wait? Install this custom Linux Shell! today and unlock a world of possibilities right at your fingertips.
Struggling with AWS or Linux server issues? I specialize in configuration, troubleshooting, and security to keep your systems performing at their best. Check out my Fiverr profile for details.