Skip to content

fchastanet/bash-dev-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

230 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bash-dev-env

NOTE: Documentation is best viewed on https://bash-dev-env.devlab.top

GitHub license pre-commit CI/CD Project status DeepSource DeepSource Average time to resolve an issue Percentage of issues still open

Bash Dev Env is a modular Bash-based system for installing, configuring, and maintaining essential developer tools and environments on Ubuntu-based systems (WSL, VirtualBox, or native). It leverages the Bash Tools Framework and a custom compiler to automate setup, upgrades, and configuration for a wide range of developer software, shells, and utilities. The project is designed for repeatable, reliable, and customizable environment management, with built-in backup and update mechanisms.

TIP: Checkout related projects of this suite

1. Overview & Installation

Bash Dev Env provides a unified, automated way to install, configure, and maintain a comprehensive set of developer tools and environments on Ubuntu-based systems (including WSL, VirtualBox, and native installs). It uses modular Bash scripts and the Bash Tools Framework to manage everything from shells (Bash, Zsh), editors, version control, cloud tools, and more. Installation is straightforward—just follow the installation instructions.

2. Features & Supported Software

This project automates the installation, configuration, and updating of a wide range of developer tools and environments, including:

  • Shells: Bash (with aliases, completions, custom prompts), Zsh (with plugins, themes, Fzf integration)
  • Version control: Git (with default config, aliases, hooks, pre-commit integration)
  • Cloud & DevOps: AWS CLI, Awsume, Saml2Aws, Kubernetes tools (Helm, Kind, Minikube), OpenVPN
  • Editors & IDEs: Vim, VS Code (with extension profiles), Jetbrains Toolbox
  • Utilities: Fzf, fd, jq, curl, dos2unix, parallel, pv, unzip, wget, mysql-client, putty-tools
  • Linters & Checkers: ShellCheck, Hadolint, Composer dependencies, Node dependencies (prettier, stylelint, etc.)
  • Misc: PlantUML, Fortune, Xvfb, Anacron (for WSL), Docker (VirtualBox), Chrome, Firefox, LXDE, Terminator, font installers

The system is designed for repeatable, idempotent installs and supports backup of config files before changes. It also provides mechanisms for periodic updates and easy migration between distributions.

3. Usage, Updates & Migration

  • Usage: Run the main install script to set up or update your environment. The process is safe to repeat and will only update what’s needed.
  • Updates: Anacron (on WSL) can be configured for scheduled updates. The install script is designed for regular re-execution.
  • Migration: Tools and scripts are provided to help migrate your environment and data between distributions using rsync and shared mounts. Config backups are stored in the backup directory for safety.

4. Acknowledgements

This project draws inspiration from many sources. Special thanks to Bazyli Brzóska for his work on Bash Infinity, which inspired much of the framework design (and some code). His blog is also highly recommended for anyone interested in advanced Bash scripting.

About

Bash Dev Env documentation - Comprehensive Bash-based development environment installation and configuration system

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages