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

77 lines
1.9 KiB
Markdown

# Provision
Simple, idempotent provisioning for macOS and Linux.
## Quick Start
```bash
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
```bash
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:
```bash
~/.provision/config/link-dotfiles.sh
```
## After Installation
1. Edit `~/.gitconfig` - set your name and email
2. In tmux, press `Ctrl+a` then `I` to install plugins
3. Customize `~/.provision/config/` files as needed
## References
- Blog: https://jnsgr.uk/2025/06/from-nixos-to-ubuntu/