-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome to the gaudi-bash wiki!
This Wiki is your place to know how gaudi-bash works and hopefully provide as much information as possible to help you get up to speed contribute.
gaudi-bash is a fork from the infamous gaudi-bash with lots of opinionated changes in the code to suit my OCD-like nature. I am by no means a bash expert but I tried my best to conform to the best practices in here.
gaudi-bash itself is inspired by oh-my-zsh and includes autocompletion, themes, aliases, custom functions, and more. It provides a solid framework for using, developing and maintaining shell scripts and custom commands for your daily work.
If you're using the Bourne Again Shell (Bash) on a regular basis and have been looking for an easy way on how to keep all of these nice little scripts and aliases under control, then gaudi-bash is for you!
Stop polluting your ~/bin
directory and your .bashrc
file, fork/clone gaudi-bash and start hacking away.
Please take a look at the Contribution Guidelines before reporting a bug or providing a new feature.
The Development Guidelines have more information on some of the internal workings of gaudi-bash, please feel free to read through this page if you're interested in how gaudi-bash loads its components.
gaudi-bash is installed by running the following commands in your terminal. You can install this via the command-line with either curl
or wget
, whichever is installed on your machine.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ahmadassaf/gaudi-bash/master/install.sh)"
Manual inspection: It's a good idea to inspect the install script from projects you don't yet know. You can do that by downloading the install script first, looking through it so everything looks normal, then running it.
If you wish to do a standalone installation then you proceed with the following steps:
- Check a clone of this repo:
git clone https://github.com/ahmadassaf/gaudi-bash.git ~/.bash_it
- Run
~/.bash_it/setup.sh
(it automatically backs up your~/.bash_profile
) - Edit your
~/.bash_profile
file in order to customize gaudi-bash.
The install script can take the following options:
-
--silent
: Ask nothing and install using default settings. -
--no-modify-config
: Do not modify the existing config file (~/.bash_profile
or~/.bashrc
).
When run without the --silent
switch, gaudi-bash only enables a sane default set of functionality to keep your shell clean and to avoid issues with missing dependencies. Feel free to enable the tools you want to use after the installation.
When you run without the --no-modify-config
switch, the gaudi-bash installer automatically modifies/replaces your existing config file.
Use the --no-modify-config
switch to avoid unwanted modifications, e.g. if your Bash config file already contains the code that loads gaudi-bash.
NOTE: Keep in mind how Bash loads its configuration files,
.bash_profile
for login shells (and in macOS in terminal emulators like Terminal.app or iTerm2) and .bashrc
for interactive shells (default mode in most of the GNU/Linux terminal emulators), to ensure that gaudi-bash is loaded correctly.
A good "practice" is sourcing .bashrc
into .bash_profile
to keep things working in all the scenarios.
To achieve this, you can add this snippet in your .bash_profile
:
if [[ -f ~/.bashrc ]]; then
. ~/.bashrc
fi
Refer to the official Bash documentation to get more info.
To update gaudi-bash to the latest version, simply run:
gaudi-bash update
gaudi-bash separates the core engine from the components (plugins, aliases, completions, etc.) more on that to come in the design section. the gaudi-bash
will make sure the latest core code is pulled, if you would like to make sure that latest components are being pulled as well then you need to pass the all
parameter bash-it update all
.
To uninstall gaudi-bash, run the uninstall.sh
script found in the $BASH_IT
directory:
cd $BASH_IT
./uninstall.sh