Personal macOS setup and configuration files.
git clone https://github.com/Gawdfrey/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh- Zsh with Oh My Zsh and optimized startup (lazy-loaded NVM)
- Modern CLI tools with aliases (eza, bat, fzf, ripgrep, fd, tldr)
- Starship prompt with kubernetes context
- Auto .nvmrc detection when changing directories
- Environment setup for Node.js, Go, Python
- Git configuration with delta diff viewer and 1Password SSH signing
- Global .gitignore for common unwanted files
- EditorConfig for consistent formatting across editors
- VS Code settings sync with optimized configuration
- VS Code extensions (TypeScript, Tailwind, Prettier, Biome, etc.)
- Node.js 22 LTS as default version
- Global npm packages (@antfu/ni, corepack)
- Complete Brewfile with development tools and modern CLI utilities
- Kubernetes tools (kubectl, k9s, helm, etc.)
- Cloud tools (Azure CLI, Vercel CLI)
- Essential apps (1Password CLI, Bruno, Raycast, Warp)
ll→eza -la --git --header(better ls with git status)cat→bat(syntax highlighted cat)find→fd(faster find)grep→rg(ripgrep)preview→fzfwith file preview
After running the installer:
- 1Password: Sign in and configure SSH agent
- GitHub:
gh auth login - Terminal: Restart or
source ~/.zshrc
When you make changes to your configs:
./sync-from-system.sh # Pull latest configs from system
./push.sh # Commit and push to GitHubWhen you pull updates from GitHub:
git pull origin main
./sync-to-system.sh # Apply changes to system.zshrc- Zsh configuration with Oh My Zsh and modern aliases.gitconfig- Git aliases, delta diff viewer, and 1Password SSH signing.gitignore_global- Global gitignore for common files.editorconfig- Consistent formatting across editors.ssh/config- SSH configuration for 1Password agentBrewfile- Homebrew packages including modern CLI toolsvscode-extensions.txt- VS Code extensions listvscode-settings.json- VS Code configurationglobal-npm-packages.txt- Global npm packages.nvmrc- Node.js version (22 LTS)