Files
provision/SUMMARY.md
2025-11-23 09:07:39 -08:00

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

  1. Simple: 4 scripts instead of 20+
  2. Fast: Parallel installs where possible
  3. Idempotent: Safe to re-run
  4. Self-contained: All config files included
  5. Flexible: Skip any component

Total: ~500 lines of shell script