"A developer's environment is their most personal tool."
My macOS dev machine configuration — batteries included, opinions strong.
██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
One command to rule them all:
curl https://raw.githubusercontent.com/davidnussio/dotfiles/master/scripts/install.sh | bashdotfiles/
├── Brewfile # All CLI tools & macOS apps via Homebrew
├── install.sh # Bootstrap script
├── git/
│ ├── .gitconfig # Git config with delta, aliases, signing
│ └── .gitignore_global # Global gitignore
├── config/
│ ├── fish/ # Fish shell — config, functions, completions
│ ├── nvim/ # Neovim config (lazy.nvim)
│ ├── zellij/ # Multiplexer config + development layout
│ ├── starship.toml # Starship prompt
│ ├── mise/ # mise-en-place runtime manager
│ ├── opencode/ # Global agents, skills, commands and tools
│ └── topgrade.toml # Topgrade updater config
└── Application Support/
└── com.mitchellh.ghostty/ # Ghostty terminal config
| Layer | Tool |
|---|---|
| Shell | Fish + Starship |
| Terminal | Ghostty |
| Editor | Neovim (lazy.nvim) + VSCode |
| Multiplexer | Zellij |
| Package manager | Homebrew |
| Runtime manager | mise |
| File navigation | yazi + zoxide + fzf |
| Git TUI | lazygit + delta |
ls |
eza |
cat |
bat |
find |
fd |
grep |
ripgrep |
| HTTP | xh + hurl |
| Load testing | oha |
| Kubernetes | k9s + kubectx + stern |
| Security | trufflehog + trivy |
| AI coding | OpenCode with versioned global workflows |
./install.sh link links the managed OpenCode configuration into ~/.config/opencode while preserving local plugins, downloaded models, dependencies, and TUI state. In OpenCode, use Tab for the architect primary agent, @reviewer or another specialist for subagents, and /implement, /review, /debug, /test-changed, or /pr for repeatable workflows.
See cheatsheet.md for all keybindings, aliases, and abbreviations.
MIT