Personal configuration files and system setup, managed with chezmoi.
- Shell configuration (zsh + oh-my-zsh)
- Neovim config
- tmux config
- Git config
- Homebrew packages (via Brewfile)
Chezmoi manages dotfiles by keeping a source directory (this repo) and applying it to your home directory. Files prefixed with dot_ are placed as dotfiles in ~. Run chezmoi apply to sync changes.
Clone the repo, then run the install script:
bash install.shThe script handles platform differences automatically:
- macOS: Installs Homebrew (if needed), installs chezmoi via Homebrew, and sets macOS defaults
- Linux: Installs chezmoi via its install script
- Both: Applies chezmoi config and installs oh-my-zsh (if not already present)
Restic backs up to Backblaze B2 with client-side encryption. Credentials are stored in 1Password and fetched at runtime — no secrets in this repo.
- Install restic (
brew install resticon macOS,apt install resticon Linux) - Create
~/.config/restic/pathswith one directory per line:/Users/you/Documents /Users/you/Projects - On the first machine only, initialize the repo:
restic-backup init - Run a backup:
restic-backup
| Command | Description |
|---|---|
restic-backup |
Run a backup (reads paths from ~/.config/restic/paths) |
restic-backup init |
Initialize the B2 repo (first machine only) |
restic-backup snapshots |
Show snapshots for this host |
restic-backup forget --keep-daily 7 |
Any restic subcommand (pass-through) |
Common excludes (caches, build artifacts, .git, etc.) are managed in ~/.config/restic/excludes (deployed by chezmoi). Per-machine paths in ~/.config/restic/paths are not tracked in this repo.