My personal macOS configuration, managed with Make and structured for XDG compliance. This setup automates the installation of applications and symlinking of configuration files for a clean and reproducible environment.
- Shell: Zsh with Antidote for plugin management and Starship prompt.
- Package Manager: Homebrew via a
Brewfile. - Terminal: Ghostty with Catppuccin Mocha theme.
- Git: Delta for diffs, commit signing via Bitwarden SSH agent.
- Core Utils:
bat,eza,fd,fzf,ripgrep,zoxide,jq. - TUIs:
lazygit,btop,yazi,k9s. - Editor: Neovim, managed separately at victortennekes/nvim.
- Git
- macOS Command Line Tools (
xcode-select --install)
-
Clone the repository:
git clone https://github.com/victortennekes/dotfiles.git ~/.dotfiles cd ~/.dotfiles
-
Run the installer:
make install
This will:
- Install Homebrew if not present.
- Install all packages from the
Brewfile. - Symlink all configs to
~/.config/.
| Command | Description |
|---|---|
make install |
Full setup: brew + symlinks |
make update |
Pull dotfiles, update brew, re-link |
make dump |
Export current brew packages to Brewfile |
make clean |
Remove all symlinks |
.dotfiles/
├── Brewfile # Homebrew packages, casks, and Mac App Store apps
├── Makefile # Setup orchestrator
├── config/ # App configs, symlinked to ~/.config/
│ ├── bat/
│ ├── btop/
│ ├── ghostty/
│ ├── git/
│ ├── k9s/
│ ├── karabiner/
│ └── zsh/
└── scripts/
├── install # Symlink creation
└── clean # Symlink removal