A personal collection of Bash scripts for Debian-based x86_64 systems. Server bootstrapping, monitoring stack deployment, web server setup, shell quality-of-life tweaks, media downloads, and day-to-day automation.
Scripts are organized into two tiers:
standalone/— self-contained scripts, each doing one thing.workflows/— scripts that chain standalones together toward a goal.
More detailed information about the project structure is available in
docs/index.html.
Every script includes a metadata block immediately after the shebang describing its purpose,
requirements, privileges, dependencies, and other properties (summary, description,
sudo, interactive, idempotent, dependencies).
More detailed documentation, dependency trees, and the complete script index are available in
docs/index.html.
To regenerate the documentation locally:
./generate-docs.py- Colored, consistent output with clear progress and status messages
- Interactive prompts with safety confirmations before destructive actions
- Idempotent where the script's scope allows it
- Automatic backups of configuration files before modification
git clone https://github.com/rebootless/shell-toolkit.git
cd shell-toolkit
find . -type f -name "*.sh" -exec chmod +x {} \;From there:
- Run a standalone script directly for a single, focused task.
- Run a workflow to chain several standalones toward a larger goal.
Always review a script's source and its metadata block before running it with sudo on a
production machine.
More detailed information about available scripts is available in
docs/index.html.
- Debian-based x86_64 Linux system, Bash 5.0+
- Root/
sudoaccess for system-level scripts, and an internet connection for package/image downloads python3to rungenerate-docs.py(standard library only, no pip packages)- Some scripts require additional tools (
Docker,jq,pipx,flatpak,npm, etc.). Seedocs/index.htmlfor per-script requirements and optional dependencies.
Issues and Pull Requests are welcome. If a script fits the collection's scope (server ops, monitoring, deployment, shell tooling, or useful automation), feel free to open a PR.
Follow the existing code style: colored output, safety prompts, inline English comments. Every
new script must include a # ---DOC-START--- ... # ---DOC-END--- metadata block (see
docs/metadata-guidelines.md) and pass
./generate-docs.py --strict.
Distributed under the GNU General Public License v3.0.