Personal dotfiles for macOS development environment.
-
Install Xcode command line tools:
xcode-select --install
-
Clone and checkout:
git clone https://github.com/jponge/dotfiles cd dotfiles git checkout mbp26 -
Grant Terminal permission: System Settings → Privacy & Security → App Management → enable Terminal
-
Run the installer:
bash install.sh
-
Open Ghostty — it will launch Fish with the Tide prompt already configured.
- Brewfile: Homebrew packages, casks, fonts
- Fish: shell configuration (conf.d modules, functions, fish_plugins for fisher)
- zsh:
.zprofileadds Homebrew to the PATH (Fish is not the login shell, so zsh still needs it) - Ghostty: terminal emulator configuration
- nano: editor configuration (
.nanorc) - LaTeX: latexmk configuration (
.latexmkrc)
Deploy dotfiles:
stow --no-folding homeRemove dotfiles:
stow -D --no-folding homeThe --no-folding flag prevents stow from symlinking entire directories.
Stow refuses to overwrite a real file. If ~/.zprofile already exists as a regular file, replace it with the symlink managed by stow:
mv ~/.zprofile ~/.zprofile.bak
stow --no-folding home
ls -l ~/.zprofile # should point into dotfiles/home/.zprofileOr run the idempotent helper, which does the same thing:
bash scripts/adopt-zprofile.shinstall.sh backs up a pre-existing ~/.zprofile automatically on bootstrap.
To track a new file, add it under home/ at the same path it has relative to ~, then re-run stow --no-folding home.
- Fish is NOT the login shell — Ghostty launches it via
command = /opt/homebrew/bin/fish - Java and Ruby toolchains managed by
mise(activated viaconf.d/mise.fish) - Tide prompt is configured automatically by
install.sh(no interactive setup needed) - Use
brew bundle checkto detect drift from the Brewfile