My personal dotfiles, managed with chezmoi.
Warning
Fork this repository and review the code before use. Don't blindly use my settings unless you know what they do. Use at your own risk!
To use this repository as a template:
- Fork this repository to your GitHub account
- Update step 3 below: Replace
lv416e/dotfileswithYOUR_USERNAME/dotfiles - Follow the installation steps below - you'll be prompted for your configuration
- See Fork Guide for detailed instructions
First, install Homebrew if not already installed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Then install required tools:
brew install chezmoi age 1password-cli misegit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"You'll be prompted for configuration (email, vault name, encryption options, etc.):
chezmoi init lv416e/dotfilesIf you enabled 1Password integration during initialization:
eval $(op signin)If you enabled age encryption, generate your key:
chezmoi age-keygen --output ~/.config/chezmoi/key.txtNote
These steps are optional. The repository works without 1Password or age encryption.
chezmoi apply -vcd ~/.local/share/chezmoi
brew bundle install
mise install
mise trustSee New Machine Setup Guide for detailed instructions and troubleshooting.
| Task | Command |
|---|---|
| Edit files | chezmoi edit ~/.zshrc |
| Apply changes | chezmoi apply |
| Commit and push | chezmoi cd && git add -A && git commit -m "Update config" && git push |
| Quick apply (alias) | mise a |
| Full system sync | mise sync |
| Verify secrets setup | mise secrets-verify |
| Sign in to 1Password | mise ops |
| Add encrypted file (if age enabled) | chezmoi add --encrypt ~/.ssh/id_rsa |
| Task | Command |
|---|---|
| Update mise tools | mise sys-update |
| Update Homebrew packages | brew update && brew upgrade |
| Clean caches | mise sys-clean |
| Health check | mise sys-health |
Shell & Terminal
- zsh - Fast shell with Powerlevel10k prompt
- tmux / Zellij - Terminal multiplexers (switchable)
- WezTerm - GPU-accelerated terminal emulator
- starship - Cross-shell prompt (alternative)
Development Tools
- mise - Universal version manager + task runner
- jj (Jujutsu) - Modern VCS (co-exists with git)
- neovim - Extensively configured editor
- gh - GitHub CLI
- docker - Containerization
Productivity
- fzf - Fuzzy finder
- ripgrep - Fast search
- fd - Fast find
- bat - Better cat
- eza - Better ls
- zoxide - Smart cd
Security & Secrets
- age - Modern encryption tool
- 1password-cli - Secret management
- gitleaks - Secret scanning
- lefthook - Fast git hooks
- New Machine Setup Guide - Complete setup guide
- Fork Guide - Fork and customize instructions
- Secrets Management - 1Password and age encryption
- Pre-Commit Hooks - Git hooks with lefthook and gitleaks
- Zsh Config Switching - Modular vs monolithic
- Multiplexer Abstraction - Unified tmux/zellij interface
- Keybindings Reference - Quick reference for tmux/zellij
- Modern Tools - jj, WezTerm, Zellij guides
- Mise Tasks - Task runner documentation