77 lines
1.9 KiB
Markdown
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/
|