devAlice
← Mac

Configuración inicial de Mac para desarrolladores: la primera hora después de desempacar

Una ruta de configuración única para Mac con Apple Silicon en macOS 14+. De cero a listo para git push en 30–60 minutos.

Un Mac nuevo puede estar listo para trabajo de desarrollo real en 30 a 60 minutos. Esta guía está dirigida a Apple Silicon + macOS 14 (Sonoma) o más reciente y te lleva al punto de «abrir un terminal y hacer git push» — nada más.

Las herramientas de productividad (Raycast/Rectangle), editores y runtimes de lenguajes están cubiertos por guías separadas. Aquí solo instalamos lo necesario para llegar a un terminal funcional.

TL;DR

  1. Cinco configuraciones del sistema macOS (repetición de teclas, trackpad, Finder, Dock, capturas de pantalla)
  2. Xcode Command Line Tools → Homebrew → siete herramientas CLI esenciales (una línea de brew)
  3. Configuración global de Git + clave SSH (ed25519) → registrar en GitHub → gh auth login

Script de automatización (opcional)

Si prefieres ejecutar un único script en lugar de seguir cada paso — siempre descarga → verifica SHA-256 → inspecciona → ejecuta.

setup-mac.sh
# 1. Descargar
curl -fsSL https://devalice.jaceclub.com/assets/mac/initial-setup/setup-mac.sh -o setup-mac.sh
 
# 2. Verificar SHA-256
shasum -a 256 setup-mac.sh
# esperado: d6b501f8fa1986d980c70525d1d4476bef444bc0dd2c62fb13f2e5a9128c63cf
 
# 3. Inspeccionar
less setup-mac.sh
 
# 4. Ejecutar
bash setup-mac.sh

El script es idempotente — seguro para volver a ejecutar tras una completación parcial o un fallo. Automatiza las primeras seis secciones a continuación; el registro de la clave SSH en GitHub y gh auth login aún requieren confirmación manual en un navegador.

Si prefieres entender cada paso, recorre las secciones manuales a continuación.

Requisitos previos

  • macOS 14 (Sonoma) o más reciente — macOS 12 (Monterey) y anteriores tienen problemas con algunos paquetes recientes de Homebrew
  • Apple Silicon (M1–M4) recomendado — el Mac Intel funciona, pero el prefijo de Homebrew difiere (/opt/homebrew vs /usr/local). Se indica en cada lugar.
  • Cuenta de administrador (sudo disponible)
  • Conexión a internet y Apple ID con sesión iniciada

Usuarios de Mac Intel: recuerda que tu prefijo de Homebrew es /usr/local. Por lo demás, esta guía aplica tal cual.


1. Configuración del sistema macOS — 5 minutos

Aplica vía Configuración del Sistema o comandos de terminal. Hazlo una vez y notarás la diferencia cada día.

1.1 Repetición de teclas: el cambio de mayor impacto

Los valores predeterminados son demasiado lentos y frenan la escritura sin que lo notes. Llévalos al máximo.

# Repetición de tecla (velocidad después de la primera repetición) — más rápido que el máximo del deslizador
defaults write -g KeyRepeat -int 1
# Repetición inicial de tecla (retraso antes de la primera repetición) — más corto que el mínimo del deslizador
defaults write -g InitialKeyRepeat -int 10

Cierra sesión y vuelve a iniciarla para que esto surta efecto. (Un reinicio también funciona.)

1.2 Trackpad — clic con toque + arrastre con tres dedos

# Habilitar clic con toque
defaults write com.apple.AppleMultitouchTrackpad Clicking -bool true
defaults -currentHost write -g com.apple.mouse.tapBehavior -int 1

El arrastre con tres dedos es solo GUI: Configuración del Sistema → Accesibilidad → Control del puntero → Opciones del trackpad → «Usar trackpad para arrastrar» → «Arrastre con tres dedos».

1.3 Finder — mostrar archivos ocultos, rutas completas, extensiones

defaults write com.apple.finder AppleShowAllFiles -bool true
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
defaults write -g AppleShowAllExtensions -bool true
killall Finder

1.4 Dock — ocultamiento automático, sin animación

Recupera espacio en pantalla y haz que el Dock aparezca más rápido.

defaults write com.apple.dock autohide -bool true
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.15
killall Dock

1.5 Capturas de pantalla — mantén el escritorio limpio

La ubicación predeterminada es el escritorio, que se llena rápido. Cámbiala.

mkdir -p ~/Pictures/Screenshots
defaults write com.apple.screencapture location ~/Pictures/Screenshots
defaults write com.apple.screencapture type png
killall SystemUIServer

2. Xcode Command Line Tools — 5 minutos

Homebrew, Git y los compiladores dependen de esto.

xcode-select --install

Aparece un diálogo GUI → Instalar → acepta la licencia → espera ~5 minutos (~100 MB).

Verificar

xcode-select -p
# /Library/Developer/CommandLineTools  ← esperado

Si ya tienes Xcode.app completo, verás /Applications/Xcode.app/Contents/Developer — también está bien.


3. Homebrew + CLIs esenciales — 10 minutos

3.1 Instalar Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Cuando termine, el instalador imprime instrucciones de PATH. Apple Silicon — añade estas dos líneas a ~/.zprofile:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

⚠️ Mac Intel: usa /usr/local en lugar de /opt/homebrew. Las instrucciones impresas del instalador son correctas para tu máquina — síguelas.

Verificar

brew --version
# Homebrew 4.x.x
brew doctor
# Your system is ready to brew.

3.2 Siete CLIs esenciales en una línea

Las herramientas que usarás diariamente:

brew install git gh mise jq ripgrep fzf eza
HerramientaPropósito
gitMás reciente que el git incluido de Apple; funciona con LFS y plugins modernos
ghCLI de GitHub (PRs, clonar repos, autenticación)
miseGestor polivalente de runtimes (sucesor de asdf) — Node, Python, Ruby, etc.
jqAnálisis y transformación de JSON desde la CLI
ripgrepReemplazo más rápido de grep que respeta .gitignore (rg)
fzfBuscador fuzzy interactivo (Ctrl-R para búsqueda en historial del shell)
ezaReemplazo moderno de ls (sucesor de exa) con estado git y vista de árbol

Integración del shell de fzf (opcional)

Habilita la búsqueda en historial con Ctrl+R:

$(brew --prefix)/opt/fzf/install --all

4. Configuración de Git + clave SSH — 10 minutos

4.1 Globales de Git

Usa el mismo email que tu cuenta de GitHub.

git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --global pull.rebase false
git config --global core.editor "code --wait"  # si usarás VS Code

code --wait requiere que VS Code esté instalado. Omítelo por ahora si aún no lo tienes.

4.2 Clave SSH — prefiere ed25519

Más corta y segura que RSA 4096.

ssh-keygen -t ed25519 -C "you@example.com"
# Enter file in which to save: [Enter] (usa el predeterminado ~/.ssh/id_ed25519)
# Enter passphrase: [opcional pero recomendado]

Registra con ssh-agent y macOS Keychain:

eval "$(ssh-agent -s)"
 
cat <<'EOF' >> ~/.ssh/config
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519
EOF
 
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

4.3 Añadir la clave pública a GitHub + autenticarse

Copia la clave pública al portapapeles:

pbcopy < ~/.ssh/id_ed25519.pub

Abre https://github.com/settings/ssh/new en un navegador → Título: «Mac (modelo)» → Clave: pega → Add SSH key.

Autentica gh para operaciones HTTPS (creación de PRs, etc.):

gh auth login
# GitHub.com → HTTPS → Y (auth Git with GitHub credentials) → Login with a web browser

Se abrirá un navegador con un código de un solo uso. Ingrésalo, luego autoriza.


5. Verificar — ¿todo se instaló correctamente?

Comprobación de una sola vez:

echo "--- Versiones ---"
sw_vers | head -2
brew --version | head -1
git --version
gh --version | head -1
mise --version
echo "--- Auth de GitHub ---"
ssh -T git@github.com 2>&1 | head -1
gh auth status 2>&1 | head -3

Salida esperada:

--- Versiones ---
ProductName: macOS
ProductVersion: 14.5
Homebrew 4.x.x
git version 2.46.x
gh version 2.x.x
mise 2026.x.x
--- Auth de GitHub ---
Hi <tu-usuario>! You've successfully authenticated, but GitHub does not provide shell access.
github.com
  ✓ Logged in to github.com account <tu-usuario>

Si todo se imprime correctamente, has terminado. Ya puedes ejecutar git clone <repo> y empezar a trabajar.


6. Solución de problemas

«command not found: brew» — PATH no cargado

Verifica que ~/.zprofile contenga eval "$(/opt/homebrew/bin/brew shellenv)". Abre un terminal nuevo e intenta de nuevo.

«xcrun: error: invalid active developer path»

Las Command Line Tools están rotas. Reinstálalas:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

Instalación de Homebrew «Permission denied»

Problema de permisos en /opt/homebrew o /usr/local. Ejecuta el comando chown que el instalador sugirió literalmente.

SSH «Permission denied (publickey)»

ssh-add -l                              # ¿está la clave en el agente?
ssh -vT git@github.com 2>&1 | tail -20  # salida verbose

Si falta la clave, vuelve a ejecutar ssh-add --apple-use-keychain ~/.ssh/id_ed25519. Si sigue fallando, verifica que la clave esté registrada en GitHub.

git push sigue pidiendo contraseña

Clonaste por HTTPS. Cambia el remote a SSH:

git remote set-url origin git@github.com:<user>/<repo>.git

Algunos paquetes de Homebrew fallan en Apple Silicon

Algunos paquetes antiguos solo se ejecutan bajo Rosetta 2:

softwareupdate --install-rosetta --agree-to-license
arch -x86_64 brew install <package>

Qué sigue

Esta guía termina en «el terminal funciona de verdad». A continuación:

  • Herramientas de desarrollo: editores, runtimes (Node, Python, Ruby) — /mac/dev-toolchain
  • Herramientas de productividad: Raycast, Rectangle, Karabiner — /mac/productivity
  • Entorno de agente IA: Claude Code, Cursor — /ai-agents/claude-code
  • El script de automatización está disponible al principio de esta página

Referencias

Historial de cambios

  • 2026-05-12: Versión inicial (semilla i18n devAlice M2)