Repolode
ohmybash

ohmybash/oh-my-bash

A community-driven framework for managing your bash configuration, with bundled plugins, themes, and a self-update command.

Stars
7,750
Forks
791
Open issues
164
Last commit
3 days ago

What is it?

Oh My Bash is a framework for organizing a bash shell configuration. It ships with a large collection of plugins that add aliases and helper functions for tools such as git, and more than one hundred prompt themes that you select by setting a single variable in your .bashrc. Plugins are enabled by listing their names in an array, and conditionals can be used to load them only in certain situations, such as over SSH.

The installer backs up your existing .bashrc and replaces it with the Oh My Bash template. Updates can run automatically or on demand through the upgrade_oh_my_bash command, and uninstall_oh_my_bash reverts the configuration. Customizations go in a custom/ directory, so local changes can be kept separate from the bundled modules.

The project targets macOS and Linux and requires git and curl or wget. It is a port of ideas from Oh My Zsh and Bash-it, and it is developed as a community project.

Key features

  • 01Bundled plugins for common tools, enabled by listing names in .bashrc.
  • 02More than one hundred prompt themes, selected with a single variable.
  • 03Conditional plugin loading, for example only over SSH sessions.
  • 04Built-in upgrade and uninstall commands.
  • 05Custom modules in a separate directory so local changes stay isolated.

Use cases

  • Making a bash prompt show git status and other context at a glance.
  • Sharing a consistent shell setup across several macOS or Linux machines.
  • Auto-attaching tmux only on remote SSH sessions.

Quick start

  1. 1

    Clone the repository to ~/.oh-my-bash

    git clone https://github.com/ohmybash/oh-my-bash.git ~/.oh-my-bash
  2. 2

    Copy the bundled template over your ~/.bashrc

    cp ~/.oh-my-bash/templates/bashrc.osh-template ~/.bashrc
  3. 3

    Reload your .bashrc

    source ~/.bashrc

Things to know

  • Works best on macOS and Linux; it is aimed at Unix-like systems.
  • Installing replaces your existing ~/.bashrc, so back it up first.

Topics

FAQ

What is oh-my-bash?
A community-driven framework for managing your bash configuration, with bundled plugins, themes, and a self-update command. Oh My Bash is a framework for organizing a bash shell configuration. It ships with a large collection of plugins that add aliases and helper functions for tools such as git, and more than one hundred prompt themes that you select by setting a single variable in your .bashrc. Plugins are enabled by listing their names in an array, and conditionals can be used to load them only in certain situations, such as over SSH.
Is oh-my-bash free to use? What license does it have?
oh-my-bash is open source under the MIT license. Check the license terms before using it in commercial products.
Is oh-my-bash still maintained?
Actively maintained. The last commit to oh-my-bash was on Oct 19, 2026.
What can I use oh-my-bash for?
Making a bash prompt show git status and other context at a glance. Sharing a consistent shell setup across several macOS or Linux machines. Auto-attaching tmux only on remote SSH sessions.
How do I install oh-my-bash?
Clone the repository to ~/.oh-my-bash: git clone https://github.com/ohmybash/oh-my-bash.git ~/.oh-my-bash Copy the bundled template over your ~/.bashrc: cp ~/.oh-my-bash/templates/bashrc.osh-template ~/.bashrc Reload your .bashrc: source ~/.bashrc
Where can I get oh-my-bash?
The source code and installation instructions are on GitHub: https://github.com/ohmybash/oh-my-bash

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects