63b2e693bf896c256757d0c628809fa79caaddd8
Provision
Simple, idempotent provisioning for macOS and Linux.
Quick Start
git clone https://git.sdf.org/jchenry/provision ~/.provision
~/.provision/provision
exec $SHELL
What Gets Installed
- Packages: git, curl, tmux, fzf, ripgrep, starship, zoxide, eza, fd, gh, jq
- Apps: VSCodium, 1Password, Obsidian, Chrome, Todoist
- Go: Latest version to
/usr/local/go - Plan9: Installed to
/usr/local/plan9 - Config: bash, tmux, starship, git configs
Options
provision # Full provision
provision --skip-apps # Skip GUI apps
provision --skip-go # Skip Go installation
provision --skip-p9 # Skip Plan9 installation
provision --help # Show help
Structure
provision/
├── provision # Main script
├── lib/ # Utilities
├── scripts/ # Install scripts
│ ├── packages.sh # CLI tools
│ ├── apps.sh # GUI applications
│ ├── golang.sh # Go installation
│ └── plan9port.sh # Plan9 installation
└── config/ # Config files
├── bashrc
├── tmux.conf
├── starship.toml
├── gitconfig
├── gitignore_global
├── vscode-extensions.txt
├── xinitrc # X11 init (TWM)
├── Xresources # X11 resources
└── twmrc # TWM window manager config
Supported Platforms
- macOS (Homebrew)
- Debian/Ubuntu (apt)
- Arch Linux (pacman + AUR)
Customization
Edit files in config/ directory, then re-run:
~/.provision/config/link-dotfiles.sh
After Installation
- Edit
~/.gitconfig- set your name and email - In tmux, press
Ctrl+athenIto install plugins - Customize
~/.provision/config/files as needed
References
Description
Languages
Shell
96.7%
C
3.3%