Your default bash prompt shows a bare username, hostname, and directory path. It works, but it hides useful information like git branch status and makes output hard to scan. Synth-shell fixes that with a colored prompt, a system summary on launch, and smarter versions of everyday commands like ls, grep, tree, and history.

Synth-shell is a collection of bash scripts, not a different shell, so everything you already know keeps working. You install only the pieces you want, and you can remove any of them later without touching your system shell. The steps below cover installation, replacing the startup screen, what each feature does in daily use, and how to recolor everything.
What Is Synth-Shell?
Synth-shell bundles several independent scripts written entirely in bash. The main ones are a fancy prompt with git awareness, a greeter that prints a system status report when you open a terminal, and improved behavior for ls, history, grep, tree, dmesg, free, and sudo. Each script lives in its own file under your config directory, so you can edit or delete them one at a time.
If you would rather compare it with other shells first, our overview of the types of shells in Linux covers where bash sits among zsh, fish, and the rest. Synth-shell’s advantage is that you keep bash itself and only change how it looks and behaves.
Prerequisites
You need three things before starting: bash as your shell, git for cloning the repository, and a Nerd Font or Powerline-patched font so the triangular separators render correctly. Check your current shell first:
❯ echo $SHELL

Bash is the default login shell on nearly every distribution, so this command usually prints /bin/bash. If you previously switched to another shell such as zsh and want to come back, install bash and then run chsh, entering /bin/bash as the new login shell when prompted.
❯ sudo apt install bash
❯ chsh

The chsh step matters only if you moved away from bash earlier. On a standard installation you can skip it entirely.
Install Git and Fonts
The installer clones from a public GitHub repository, so git must be present:
❯ sudo apt install git
For the font, install the Powerline font package and then select one of its faces, such as Hack or Source Code Pro, in your terminal emulator’s preferences. On Ubuntu and Debian the package name is fonts-powerline, while Arch users install powerline-fonts. Without a patched font the separator glyphs show up as empty boxes, which is the most common install complaint.
Synth-Shell Installation
Clone the repository with the recursive flag because synth-shell pulls in git submodules. A plain clone leaves those directories empty and the installer fails partway through:
❯ git clone --recursive https://github.com/andresgongora/synth-shell.git
❯ cd synth-shell
❯ chmod +x setup.sh
❯ ./setup.sh
The setup script opens an interactive menu and asks whether you want to install or uninstall:

Type i and press Enter. The next question asks whether the install should apply to your user only or to every account on the machine:

Pick u for the current user unless you administer a shared machine and want one configuration everywhere. A per-user install keeps its files under ~/.config/synth-shell/, which makes experimentation safe. Trying themes for one user never conflicts with another account’s setup, and removing the directory removes the tool completely.
The installer then offers each script one at a time. The first is the greeter:

Accepting the greeter gives you a system summary with an ASCII logo at every terminal launch. The next prompt offers the fancy bash prompt, which is the centerpiece of this whole setup:

Answer Y here as well. The remaining questions offer optional aliases for better-ls, colored grep, tree, and improved history, and these are what make daily navigation noticeably faster, so accepting all of them costs nothing. When the installer finishes, close the terminal and open a new one to load the changes:

Upgrade the Startup Screen With Fastfetch
The stock greeter renders its ASCII art only within certain terminal dimensions, and at other sizes the output collapses into misaligned text:

A cleaner approach is to disable the bundled greeter and run fastfetch instead. Fastfetch displays the same kind of system summary with far better alignment, and it stays actively maintained. Our Fastfetch vs Neofetch comparison explains why it replaced neofetch for this job, since neofetch is no longer maintained.
Install fastfetch from your distribution’s repositories:
❯ sudo apt install fastfetch
Now open your bash configuration file to swap the greeter out. Any editor works, including nano if you prefer the terminal over a graphical editor:
❯ gedit ~/.bashrc
Find the synth-shell greeter block near the bottom of the file and comment out or delete these lines:
if [ -f $HOME/.config/synth-shell/synth-shell-greeter.sh ] && [ -n "$( echo $- | grep i )" ]; then
source $HOME/.config/synth-shell/synth-shell-greeter.sh
fi
Add the word fastfetch on a new line at the end of the same file, then save and close it. Every new terminal now opens with a clean, aligned system report instead of the fragile ASCII logo:

If you want to understand why that file controls your whole prompt experience, our guide to bashrc and bash profile walks through when each file loads and how to organize them.
Features of the Synth-Shell Prompt
Each installed script earns its keep in a specific situation. Here is what changes in day-to-day work once they are active.
1) Git-Aware Fancy Prompt

Inside a git repository, the right side of the prompt shows the current branch plus an icon for the repository state. An exclamation mark means you have uncommitted changes, while triangles tell you whether local commits need pushing or pulling. Outside a repository the extra segment disappears, so the prompt stays compact everywhere else.
2) Better ls
With the better-ls script installed, plain ls lists hidden files, sorts folders first, and colorizes the output automatically. Passing explicit arguments such as ls -l restores standard behavior apart from the colors, so scripts that depend on exact ls output keep working.
3) Colored grep

The alias maps grep to grep –color=auto, so matching text stands out immediately instead of hiding inside long lines. Piped output remains uncolored, which keeps downstream tools happy.
4) Colored tree With Folders First

The tree alias expands to tree –dirsfirst -C, giving directories priority placement and colored entries. For heavier file browsing needs, a full terminal file manager like Ranger adds previews and bulk operations on top of the same idea.
5) Better History

The improved history stamps each entry with its date and execution time and drops consecutive duplicates. Finding when you ran a fix last week becomes a search instead of a guess, which matters more than it sounds once your history grows past a few hundred commands.
Try Different Color Combinations
Every visual detail of the prompt comes from one config file, so retheming takes seconds. Here are two looks produced purely by editing that file:

Open the prompt config in your editor:
❯ gedit ~/.config/synth-shell/synth-shell-prompt.config
Each prompt segment has three settings: font color, background color, and effect. To get the purple theme on the right above, change these values:
background_user="92"
font_color_host="16"
background_pwd="92"
Values can be named colors such as light-blue and dark-gray, or any number from 0 to 255 for the full 256-color palette. Open a new terminal after saving, and the theme applies instantly. If an experiment goes wrong, restore the defaults from the example files shipped in the same directory.
Uninstalling Synth-Shell
Removal reverses the install exactly. Go back to the project folder and run the setup script again:
❯ cd synth-shell
❯ ./setup.sh
This time choose the uninstall option, then confirm it for the user scope when asked:

The uninstaller detaches the scripts but leaves the config folder behind, so clear it manually:
❯ rm -r ~/.config/synth-shell/
Finally, reopen .bashrc and delete any leftover synth-shell blocks. They live at the bottom of the file and start with a comment naming the script they source. Removing them returns your prompt to the stock bash look on the next terminal launch.
Is synth-shell safe to use on any Linux distribution?
Yes. Synth-shell is written entirely in bash and only modifies your own dotfiles, so it runs on any distribution with bash. Installing per user keeps changes inside your home directory, and the included setup script uninstalls everything cleanly.
Why do the prompt separators show as boxes or question marks?
Your terminal font lacks the patched glyphs. Install the fonts-powerline package on Debian or Ubuntu, powerline-fonts on Arch, and set your terminal emulator to use a Powerline-compatible face such as Hack.
Should I use neofetch or fastfetch for the startup screen?
Use fastfetch. Neofetch development has stopped, while fastfetch is actively maintained, starts faster, and produces cleaner output on current distributions.
How do I revert to the default bash prompt?
Run ./setup.sh from the cloned repository and choose the uninstall options, delete ~/.config/synth-shell/, and remove the synth-shell lines from your .bashrc. Your original prompt returns on the next terminal launch.
Keep Going With Your Terminal Setup
You now have a colored, git-aware prompt, faster everyday commands, and a clean startup report, all inside plain bash. From here, two directions pay off quickly.
Our Linux command line guide builds the skills that make a fast prompt worth having, and adding something fun like cmatrix shows how much personality a terminal can carry. Tweak the config files until the setup feels like yours, and undo anything that gets in your way.
