Skip to main content

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

  1. Clone the repository:
git clone <repo-url>
cd bach
  1. 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 modules:

  • common.sh: Common utilities
  • logging.sh: Logging functions
  • docker.sh: Docker helpers
  • files.sh: File operations
  • git.sh: Git utilities
  • homebrew.sh: Homebrew management
  • terminal.sh: Terminal setup
  • lastly.sh: Final configurations

To reload modules: reload_bach

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 script
  • Makefile: Build/install targets (legacy)
  • pyproject.toml: Poetry / Python packaging configuration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bach_cli-2026.6.3.2.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bach_cli-2026.6.3.2-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file bach_cli-2026.6.3.2.tar.gz.

File metadata

  • Download URL: bach_cli-2026.6.3.2.tar.gz
  • Upload date:
  • Size: 30.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

Hashes for bach_cli-2026.6.3.2.tar.gz
Algorithm Hash digest
SHA256 55b24616393145d4d5904860d11d828a1c937f7a765f47922a564041a409e93e
MD5 30c0c1ec7c400cedaede6e39cf0cb411
BLAKE2b-256 e114d33878b15a8d73e5646f545c7f9a3c755ce57156951ab15c087a14c901c4

See more details on using hashes here.

File details

Details for the file bach_cli-2026.6.3.2-py3-none-any.whl.

File metadata

  • Download URL: bach_cli-2026.6.3.2-py3-none-any.whl
  • Upload date:
  • Size: 36.4 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

Hashes for bach_cli-2026.6.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0f9ea37a52e84eecb31169332c66d22ecbb3597cc4a8790a5f8c669b07f8435
MD5 d367df8b9ed51c456096c8835f0a76d4
BLAKE2b-256 6f7c999f26c77d56be9c1572145dcfb345bf1439fd5f5fcd3c772f47ccbbab27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page