Modularized bash configuration for development environment
Project description
Bach
Summary: A modular bash configuration toolkit for developers, offering organized modules for common tasks, logging, and development tools with easy installation.
⚠️ WARNING: Do NOT move this directory after installation. The configuration sources files using absolute paths that will break if relocated.
Description
Bach provides a lightweight, modular way to manage your bash environment with organized modules for common tasks, logging, development tools, and more.
Installation
Python (Recommended)
pip install bach-cli
# or with pipx (preferred for CLI tools)
pipx install bach-cli
bach install
This will add the bach initialization to your ~/.bashrc.
From source
- Clone the repository:
git clone <repo-url>
cd bach
- Install the configuration:
make install
This will add the bach initialization to your ~/.bashrc.
Updating
When a new version is released, run:
bach update
This upgrades the package (via pip or pipx) and reinstalls the shell scripts in one step.
Or manually:
pip install --upgrade bach-cli
# or with pipx
pipx upgrade bach-cli
bach install
Usage
After installation, restart your shell or run source ~/.bashrc to load the configuration.
Available commands:
bach install— Install bach configuration (with shell completion)bach uninstall— Remove bach configurationbach update— Upgrade package and reinstall configurationbach reload— Show how to reload configuration in current shellbach clean— Alias for uninstall
Shell completion (bash) is automatically enabled during bach install. It requires bash 4.4+ — if you're on macOS with the default bash 3.2, install a newer bash via brew install bash to use completions.
Available modules:
common.sh: Common utilitieslogging.sh: Logging functionsdocker.sh: Docker helpersfiles.sh: File operationsgit.sh: Git utilitieshomebrew.sh: Homebrew managementterminal.sh: Terminal setuplastly.sh: Final configurations
To reload modules in the current shell: reload_bash or source ~/.bashrc
Linting
To check shellscripts, install shellcheck and run shellcheck --severity=error <input_file>.
For VSCode users, install the Bash IDE extension (mads-hartmann.bash-ide-vscode) and add the following to your settings.json:
"bashIde.shellcheckArguments": "--severity=warning"
Uninstallation
Python
bach uninstall
From source
make clean
Or manually: bash setup.sh uninstall
Structure
bach_cli/: Python package (CLI entry point)src/bach/: Module files (shell scripts)setup.sh: Installation script (legacy)bach_lite.sh: Lightweight utility scriptMakefile: Build/install targets (legacy)pyproject.toml: Poetry / Python packaging configuration
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bach_cli-2026.6.3.5.tar.gz.
File metadata
- Download URL: bach_cli-2026.6.3.5.tar.gz
- Upload date:
- Size: 31.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.9 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b82a4c2390fbc1e0a6c19dcd67e33b79342a1d4709ef18e755a59236c94c5883
|
|
| MD5 |
c2b3d859bb763ea09470ad942a6a027c
|
|
| BLAKE2b-256 |
816e3a6f4d0eddc8b34b5deb835ca8387cc0cba32908bcb11f6c5e922c26f2d2
|
File details
Details for the file bach_cli-2026.6.3.5-py3-none-any.whl.
File metadata
- Download URL: bach_cli-2026.6.3.5-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.9 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa7db6a01aedd249a4fc70f03e3520cc7b6b9d9032057d5a35a1f8e17f4eafdf
|
|
| MD5 |
0cf33b3d51c1da7dc193408ce46cc716
|
|
| BLAKE2b-256 |
b4916bf05167981b1941b40dc8558132d87dd22c77f3f9bebf21ac89024e68a5
|