feat(setup): rewrite setup-mac.sh around Brewfiles with idempotent steps

The old script stopped on a syntax error (unclosed if blocks) and had
drifted from the machine: it installed Anaconda, AeroSpace and Oh My
Posh, and linked nothing.

- Eight named steps (xcode homebrew brew links shell runtimes ai apps)
  that check what is in place first, run on their own by name, and
  preview with --dry-run; a failed step is reported while the rest run
- Brewfile holds the CLI tools, fonts and terminals, Brewfile.apps the
  GUI casks and App Store apps; installs never upgrade existing packages
  and skip apps already installed outside Homebrew
- links symlinks the configs and .local/bin scripts, backing up what it
  replaces, and fetches the nvim submodule only on a fresh clone
- Guard .zshrc's ~/.deno/env source for machines without it
- Document the steps in the README
This commit is contained in:
David Ibia
2026-10-06 23:02:43 +01:00
parent 66a3b9ee4d
commit d1aeda397a
5 changed files with 745 additions and 238 deletions
+1 -1
View File
@@ -322,7 +322,7 @@ if [ -d "$HOME/neovim/bin" ]; then
export PATH="$HOME/neovim/bin:$PATH"
fi
. "$HOME/.deno/env"
[ -f "$HOME/.deno/env" ] && . "$HOME/.deno/env"
export NVM_DIR="$HOME/.config/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm