Personal dev environment bootstrap for Debian Linux dev workstation setup.
Numbered Bash scripts ([0-9][0-9]-*.sh) run in order to install and configure a full dev environment: system packages, Docker, Rust/Go/Node toolchains, Helix editor, tmux, LSP servers, CLI tools.
Each script is independently executable and intended to be idempotent.
| Command | Purpose |
|---|---|
./test.sh |
Build Docker image and run all scripts inside container (smoke test) |
bash -l <script.sh> |
Run a single bootstrap script (needs -l for login shell to pick up ~/.bashrc.d/ additions) |
bash docker-test |
Run all [0-9][0-9]-*.sh in order (used inside container) |
The numbered prefix defines execution order and implicit dependencies:
| Prefix | Category |
|---|---|
00- |
System/distro setup (packages via apt) |
01- |
Language runtimes & core tools (bashrc.d, Docker, Go, Node, Rust) |
02- |
Editor & terminal (Helix, just, tmux) — depends on Rust from 01-rust |
05- |
LSP servers |
10- |
CLI tools (fzf, Rust apps) — depends on Rust from 01-rust |
00-distro-debian.sh must run first (base packages for everything else).01-rust.sh must precede 02-helix.sh, 02-just.sh, 10-rust-apps.sh.01-bashrc.d.sh should run early since several scripts add profile fragments to ~/.bashrc.d/../test.sh builds debian:trixie-slim based Docker image tagged bootstrap, then runs docker-test inside it.bash -l (login shell) to ensure PATH additions from ~/.bashrc.d/ are active.Makefile, Justfile, .editorconfig, .gitignore, or linter configs.set -e in the Docker test runner but not necessarily in individual scripts.~/.local/, ~/.bashrc.d/, etc.) — designed per-user, not system-wide.ssh://git@source.ramthun.dev:2222/mike/bootstrap.git (private), branch master.