My macOS setup. Fast, minimal, mine.
git clone https://github.com/gumadeiras/dotfiles.git ~/dotfiles
git clone <private-remote> ~/git/private
cd ~/dotfiles && sh install.shinstall.sh exits immediately if ~/git/private/dotfiles is missing. Override with PRIVATE_DOTFILES_DIR=/path/to/private/dotfiles sh install.sh if needed.
| component | what it does |
|---|---|
| zsh | shell config + aliases/functions |
| tmux | minimal persistent terminal bootstrap |
| config/ | app configs (gh, ghostty, oh-my-posh, zed) |
| micromamba | python environments (conda-compatible) |
| Brewfile | homebrew packages |
| apps/ | karabiner, raycast, iterm, sublime, zotero |
- Aliases:
~/.zsh/alias.zsh - Functions:
~/.zsh/functions.zsh - Codex usage:
ccusage daily|monthly|session - tmux:
~/.tmux.conf - Profile:
~/.zprofile - Git:
~/.gitconfig - GH CLI:
~/.config/gh/config.yml - Ghostty:
~/.config/ghostty/config - Oh My Posh:
~/.config/oh-my-posh/config.json - Zed:
~/.config/zed/settings.json - Sublime:
~/Library/Application Support/Sublime Text/Packages/User
- Python via
micromamba(runcondaalias works) - Sensitive local config lives in
~/git/private/dotfiles/ install.shwill link private overlays when present:zsh/env.zsh->~/.config/secrets/env.zshzsh/private.zsh->~/.config/secrets/private.zshgit/config.private->~/.config/git/config.privategit/allowed_signers->~/.config/git/allowed_signersconfig/gh/hosts.yml->~/.config/gh/hosts.ymlssh/config->~/.ssh/configapps/sublime/User/MySFTP/servers/server.json->~/Library/Application Support/Sublime Text/Packages/User/MySFTP/servers/server.jsonagents/->~/.agentsagents/AGENTS.md->~/.codex/AGENTS.mdagents/skills/->~/.codex/skillsagents/prompts/->~/.codex/prompts- Open Sublime once after setup, then run
Package Control: Satisfy Dependenciesif any packages are missing
install.shlinks.tmux.confto~/.tmux.conftmattaches to or creates a tmux session for the current git root (or current directory outside git)- Start simple:
tmCtrl-b dto detachCtrl-b |orCtrl-b -to split in the current directoryCtrl-b rto reload config
- Keep using Ghostty tabs for quick one-offs; use tmux for persistent shells, remote work, servers, logs, and long-running jobs