Opinionated workstation + Codespaces bootstrap.
- Idempotent
install.shwith:- Environment detection (local vs Codespaces)
- Neovim install + minimal config bootstrap
- Spaceship ZSH theme setup
- Meslo Nerd Font install (skips if present)
- Safe dotfile symlinking (backs up existing files)
- Optional GitHub Copilot CLI extension
- Delta (syntax highlighted pager) install
- Managed Codespaces SSH config export (
export_codespace_cfg) - Codespace cleanup utility (
clean-codespaces.sh --dry-run) - Shell linting via GitHub Actions + local
make lint.
Clone then run:
./install.shStart a new shell (or source ~/.zshrc) to pick up changes.
Run locally:
make lintThe CI workflow runs automatically on pushes and pull requests touching any *.sh files.
./export_codespace_cfgThis inserts/updates a managed block in ~/.ssh/config between markers:
# >>> codespaces (managed) >>>
# <<< codespaces (managed) <<<
Preview:
./clean-codespaces.sh --dry-runExecute deletions:
./clean-codespaces.sh- Brewfile / apt manifest abstraction
- Tmux plugin manager integration
- Advanced Neovim config module