1.7 KiB
1.7 KiB
Provision System - Final Summary
What It Does
One-command provisioning for macOS and Linux with:
- CLI tools (tmux, fzf, ripgrep, starship, zoxide, etc.)
- GUI apps (VSCodium, 1Password, Obsidian, Chrome)
- Go (tar.gz → /usr/local/go)
- Plan9port (built → /usr/local/plan9)
- Config files (bash, tmux, git, starship)
Structure
provision/
├── provision # Main script (140 lines)
├── README.md # 69 lines
├── QUICKSTART.md # 52 lines
│
├── lib/ # Utilities
│ ├── common.sh # Platform detection, logging
│ └── package.sh # Package manager abstraction
│
├── scripts/ # 4 install scripts
│ ├── packages.sh # All CLI tools
│ ├── apps.sh # All GUI apps
│ ├── golang.sh # Go from tar.gz
│ └── plan9port.sh # Plan9 from git
│
└── config/ # Config files
├── link-dotfiles.sh
├── bashrc # Includes Go & Plan9 paths
├── tmux.conf
├── starship.toml
├── gitconfig
└── gitignore_global
Usage
# Full provision
~/.provision/provision
# Skip components
provision --skip-apps # No GUI apps
provision --skip-go # No Go
provision --skip-p9 # No Plan9
Platforms
- macOS (Homebrew + casks)
- Debian/Ubuntu (apt + .deb downloads)
- Arch Linux (pacman + AUR)
Key Features
- Simple: 4 scripts instead of 20+
- Fast: Parallel installs where possible
- Idempotent: Safe to re-run
- Self-contained: All config files included
- Flexible: Skip any component
Total: ~500 lines of shell script