Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,31 @@ Personal dotfiles managed with [chezmoi](https://www.chezmoi.io/) and [devbox](h

## Quick Start

### New Machine Setup
### New Machine Setup (One-liner)

```bash
# Personal
curl -fsSL https://raw.githubusercontent.com/paveg/dots/main/install.sh | bash

# Work environment
curl -fsSL https://raw.githubusercontent.com/paveg/dots/main/install.sh | BUSINESS_USE=1 bash
```

### Manual Setup

```bash
# Install devbox
curl -fsSL https://get.jetify.com/devbox | bash

# Load devbox into current shell (required before using devbox commands)
eval "$(devbox global shellenv)"

# Install chezmoi via devbox
devbox global add chezmoi

# Reload to get chezmoi in PATH
eval "$(devbox global shellenv)"

# Apply dotfiles (you'll be prompted for name and email)
chezmoi init --apply paveg/dots

Expand Down Expand Up @@ -198,11 +214,12 @@ direnv allow
### SSH/Remote Server Setup

```bash
# On remote server
curl -fsSL https://get.jetify.com/devbox | bash
devbox global add chezmoi neovim tmux ghq fzf ripgrep fd bat eza zoxide starship lazygit direnv delta
# One-liner
curl -fsSL https://raw.githubusercontent.com/paveg/dots/main/install.sh | bash

chezmoi init --apply paveg/dots
# Then install tools
eval "$(devbox global shellenv)"
devbox global add neovim tmux ghq fzf ripgrep fd bat eza zoxide starship lazygit direnv delta
```

**Note:** Ghostty config is automatically skipped on SSH sessions (detected via `$SSH_CLIENT`).
Expand Down
34 changes: 34 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash
# Bootstrap script for paveg/dots
# Usage: curl -fsSL https://raw.githubusercontent.com/paveg/dots/main/install.sh | bash
# With work environment: curl -fsSL ... | BUSINESS_USE=1 bash

set -e

echo "==> Installing dotfiles..."

# Install devbox if not present
if ! command -v devbox &> /dev/null; then
echo "==> Installing devbox..."
curl -fsSL https://get.jetify.com/devbox | bash
fi

# Set up devbox shellenv
eval "$(devbox global shellenv 2>/dev/null || true)"

# Install chezmoi via devbox if not present
if ! command -v chezmoi &> /dev/null; then
echo "==> Installing chezmoi via devbox..."
devbox global add chezmoi
eval "$(devbox global shellenv)"
fi

# Apply dotfiles
echo "==> Applying dotfiles..."
if [[ -n "$BUSINESS_USE" ]]; then
BUSINESS_USE=1 chezmoi init --apply paveg/dots
else
chezmoi init --apply paveg/dots
fi

echo "==> Done! Restart your shell or run: exec zsh"
Loading