Personal development environment configuration for macOS and GitHub Codespaces.
- Shell: Zsh with custom prompt and git integration
- Terminal: Ghostty / Alacritty with Kanagawa color scheme
- Editor: Neovim with native package management
- Multiplexer: tmux with custom keybindings
- Window Manager: Rectangle
- Tools: fzf, ripgrep, bat, zoxide, and more
# Clone the repository
git clone https://github.com/BrianGreenhill/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
# Run the setup script
./setup.shPrerequisites: Homebrew
Automatic setup:
- Go to Settings → Codespaces
- Enable "Automatically install dotfiles"
- Select repository:
BrianGreenhill/dotfiles
Your dotfiles will be installed automatically in every new Codespace.
dotfiles/
├── alacritty/ # Alacritty terminal config
├── ghostty/ # Ghostty terminal config
├── bin/ # Personal scripts
├── nvim/ # Neovim configuration
├── tmux/ # tmux configuration
├── zsh/ # Zsh shell configuration
├── install.sh # Codespaces installer (auto-runs)
├── setup.sh # macOS installer
└── Brewfile # Homebrew packages
- Hostname and shortened path
- Git branch and dirty status indicator
- Integrated with zoxide for smart directory jumping
- Prefix:
Ctrl-a(instead ofCtrl-b) - Vim-style navigation:
prefix + h/j/k/l - Splits open in current directory
- Status bar: Session name, current directory, time
- Kanagawa color scheme
- No plugin manager — uses native packages (
pack/plugins/start/) - Kanagawa Dragon theme
- LSP via
vim.lsp.config(nvim 0.11+) - Treesitter syntax highlighting
- blink.cmp (Rust-powered completion)
- Fzf search integration
Plugins are managed by a shell script, not a plugin manager.
~/.config/nvim/plugins.sh # Install missing plugins
~/.config/nvim/plugins.sh update # Update all pluginsTo add a plugin, add owner/repo to the plugins array in plugins.sh and re-run it.
Plugins auto-install on first launch if the pack directory doesn't exist.
cd ~/.dotfiles
brew bundle dump --force # Update Brewfile with current packages
brew bundle # Install/update packages~/.config/nvim/plugins.sh updateEdit files in ~/.dotfiles - changes are reflected immediately via symlinks.
Key tools installed:
- CLI: bat, fd, ripgrep, fzf, zoxide, tree, jq, yq
- Dev: neovim, tmux, git, gh, node, go
- Apps: Ghostty, Alacritty, OrbStack