Personal dotfiles for macOS development environment.
git clone <repo-url> ~/dotfiles
cd ~/dotfiles
./setup.shThe setup script will install all dependencies and create symlinks automatically.
| Config | Description |
|---|---|
.zshrc |
Zsh with Oh My Zsh, Starship prompt, and custom aliases |
.config/nvim/ |
Neovim with LazyVim |
.config/ghostty/ |
Ghostty terminal |
.config/aerospace/ |
AeroSpace tiling window manager |
.claude/ |
Claude Code settings and global instructions |
If you prefer to install manually:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew install neovim fzf mise starship zsh-autosuggestions ripgrep fd lazygit postgresql@16 libpq
brew install --cask font-jetbrains-mono-nerd-font ghosttysh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"ln -sf ~/dotfiles/.zshrc ~/.zshrc
ln -sf ~/dotfiles/.config/nvim ~/.config/nvim
ln -sf ~/dotfiles/.config/ghostty ~/.config/ghostty
ln -sf ~/dotfiles/.config/aerospace ~/.config/aerospace
ln -sf ~/dotfiles/.claude/settings.json ~/.claude/settings.json
ln -sf ~/dotfiles/.claude/CLAUDE.md ~/.claude/CLAUDE.mdLazyVim and all plugins install automatically on first launch:
nvimWait for plugins to install, then run :checkhealth to verify everything is working.
Framework: Oh My Zsh Prompt: Starship Plugins: git, macos, yarn, fzf
| Alias | Command |
|---|---|
v |
nvim |
ll |
ls -FGlAhp |
gcob |
Interactive branch checkout with fzf |
gcom |
git checkout main |
gbnuke |
Delete merged branches |
Built on LazyVim with these extras enabled:
- Languages: TypeScript, JSON, Ruby
- Formatting: Prettier
- Linting: ESLint
- Tools: lazygit integration
- Open Neovim:
nvim - Plugins auto-install via lazy.nvim
- Run
:checkhealthto verify setup - Press
Spaceto see available keybindings
- Font: JetBrainsMono Nerd Font, 14pt
- Shell integration: zsh
Tiling window manager for macOS. Key bindings use Alt as the main modifier.
- Workspaces: 1-9 bound to Alt+number
- Focus: Alt+H/J/K/L for vim-style navigation
- Move windows: Alt+Shift+H/J/K/L
- Layouts: Alt+/ for tiles, Alt+, for accordion
Global settings for Claude Code:
- Attribution disabled: No AI references in commits or PRs
- CLAUDE.md: Global instructions applied to all projects
Uses mise for managing runtime versions (node, ruby, python, etc.).
# Install and activate a version
mise use node@lts
mise use ruby@latest
mise use python@latest
# List installed versions
mise list
# Install all versions from .mise.toml
mise install