Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jeanlucaslima/39b8b89185b7d5568d585ebb25d1afef to your computer and use it in GitHub Desktop.

Select an option

Save jeanlucaslima/39b8b89185b7d5568d585ebb25d1afef to your computer and use it in GitHub Desktop.
/bin/bash <<'EOF'
set -euo pipefail
echo "==> Fresh Mac developer setup"
echo "==> Installing Homebrew"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
if [[ -x /opt/homebrew/bin/brew ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
elif [[ -x /usr/local/bin/brew ]]; then
eval "$(/usr/local/bin/brew shellenv)"
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
fi
echo "==> Updating Homebrew"
brew update
echo "==> Installing dotfiles prerequisites"
brew install \
git \
stow \
zsh \
powerlevel10k \
mise \
curl \
wget \
jq \
unzip
echo "==> Installing useful dev tools"
brew install \
gh \
tree \
fzf \
zoxide \
ripgrep \
fd \
bat \
eza \
git-delta \
neovim \
tmux \
htop \
btop \
uv \
just \
watchman
echo "==> Installing fun terminal tools"
brew install \
fastfetch \
glow \
gum \
asciinema \
cowsay \
fortune \
lolcat \
figlet \
toilet \
cmatrix \
sl \
nyancat \
pipes-sh
echo "==> Installing apps and fonts"
brew install --cask \
ghostty \
font-meslo-lg-nerd-font \
font-jetbrains-mono-nerd-font
echo "==> Installing Oh My Zsh"
if [[ ! -d "$HOME/.oh-my-zsh" ]]; then
RUNZSH=no CHSH=no KEEP_ZSHRC=yes \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
fi
echo "==> Installing runtimes with mise"
mise use --global node@24 python@3.14 rust@stable
mise install
echo "==> Enabling mise for this setup session"
eval "$(mise activate bash)"
echo "==> Installing AI coding CLIs"
npm install -g @anthropic-ai/claude-code
brew install --cask codex
echo "==> Cloning dotfiles"
if [[ ! -d "$HOME/dotfiles" ]]; then
git clone https://github.com/jeanlucaslima/dotfiles.git "$HOME/dotfiles"
fi
echo "==> Running dotfiles bootstrap"
cd "$HOME/dotfiles"
chmod +x ./bootstrap.sh ./install.sh 2>/dev/null || true
./bootstrap.sh
echo "==> Done"
echo ""
echo "Open Ghostty, then test:"
echo " git --version"
echo " python --version"
echo " node --version"
echo " claude --version"
echo " codex --version"
echo ""
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment