Starship + Ghostty: Potencia tu configuración de terminal en Mac
Configura Starship + Ghostty en macOS en minutos: instala Ghostty, aplica un preset de Starship, ajusta tu prompt y añade zoxide y eza para un terminal de Mac más rápido.
Actualizado Publicado 20 min de lectura

Esta guía te lleva paso a paso por la configuración de Starship y Ghostty en tu Mac. Juntos forman una configuración de terminal sólida para Mac: un terminal acelerado por GPU más un prompt que muestra el estado de Git, las versiones de los lenguajes y la duración de los comandos. Empezaré con una configuración de Ghostty, aplicaré un preset de Starship (Tokyo Night o Catppuccin Powerline), ajustaré el prompt con unas pocas líneas de TOML y después añadiré herramientas prácticas como zoxide y eza. También te mostraré cómo editar tu ~/.zshrc sin duplicar líneas de inicialización por accidente, cómo solucionar los fallos que realmente ocurren y cómo deshacer todo el proceso de forma limpia.
Si quieres una visión general centrada en Ghostty que cubra sus funciones, el inspector y el multiplexor frente a tmux, consulta Terminal Ghostty: La Guía Completa de Configuración para Mac.
Si vas más allá de los ajustes del prompt y quieres un diseño de terminal pensado para agentes de codificación con IA, automatización del navegador y notificaciones, también escribí una guía dedicada al Terminal cmux.
TL;DR: Configuración rápida (copiar/pegar)
Este es el camino más rápido para configurar el terminal en Mac: tres comandos de brew, dos líneas en la configuración de tu shell y un preset. Ejecuta esto y luego sigue las secciones de abajo para entender el «porqué» y las mejoras opcionales:
brew install --cask ghostty
brew install starship zoxide eza
brew install font-meslo-lg-nerd-fontAñade Starship y zoxide una sola vez a tu ~/.zshrc:
open -e ~/.zshrcAñade:
eval "$(starship init zsh)"
eval "$(zoxide init zsh)"Elige un preset de Starship:
mkdir -p ~/.config
starship preset tokyo-night -o ~/.config/starship.toml
# or:
# starship preset catppuccin-powerline -o ~/.config/starship.tomlSi el nombre de un preset da error, ejecuta starship preset list para ver los nombres válidos en tu versión instalada de Starship. Los nombres cambian ocasionalmente entre versiones, y este es el fallo más común de toda la guía.
Recarga:
source ~/.zshrcVerificación: abre una pestaña nueva de Ghostty. Si ves un prompt powerline con tema, has terminado. Si los iconos aparecen como cuadrados, salta al Paso 2 para arreglar la fuente. Para todo lo demás, sigue leyendo.
Requisitos previos
Lo que necesitas antes de empezar:
- Un Mac con macOS y Zsh como shell (el predeterminado desde Catalina). Compruébalo con
echo $SHELL. - Homebrew instalado. Si no lo tienes, el comando de instalación de abajo tarda unos dos minutos.
- Permisos de administrador para la instalación de Homebrew. macOS te pedirá instalar las Xcode Command Line Tools si faltan.
- Funciona tanto en Apple Silicon como en Intel. La ruta de instalación de Homebrew difiere (
/opt/homebrewfrente a/usr/local), lo que importa más adelante en la sección de solución de problemas.
Si aún no tienes Homebrew instalado:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Nota sobre costes: todas las herramientas de esta guía son gratuitas y de código abierto, se ejecutan localmente y cuestan 0 $/mes. Sin servidor, sin suscripción.
¿Por qué Ghostty y Starship?
Ghostty es un emulador de terminal escrito en Zig. Usa aceleración por GPU, funciona de forma nativa en macOS y tiene un sistema de configuración sencillo. Puedes saber más en ghostty.org.
Starship funciona con Zsh (el shell predeterminado de macOS desde Catalina) y con otros shells. Dibuja el prompt: estado de Git, rutas de directorios, versiones de lenguajes de programación, duración de comandos. Los presets y la configuración están en starship.rs.
Las piezas se apilan así:
Cada capa solo se comunica con sus vecinas. Ghostty ejecuta Zsh, Zsh llama a Starship para dibujar cada prompt, y los plugins y herramientas se enganchan directamente a Zsh. Esa separación es la razón por la que esta configuración sobrevive bien a las actualizaciones: puedes cambiar el terminal o el prompt sin tocar el resto.
Si estás comparando terminales antes de decidirte, también tenemos una configuración de WezTerm en Mac con tmux y zoxide. Y si más adelante decides que quieres el renderizado estilo Ghostty más espacios de trabajo verticales, notificaciones de agentes y un navegador integrado, echa un vistazo a cmux.
Paso 1: Instala Ghostty en tu Mac
Instala Ghostty con Homebrew (consulta los requisitos previos si aún no lo tienes):
brew install --cask ghosttyEsto instala Ghostty en tu carpeta de Aplicaciones.
Verifica:
ghostty +versionDeberías ver una cadena de versión. Si obtienes command not found, el directorio bin de Homebrew no está en tu PATH (lo veremos en la sección de solución de problemas).
Abre Ghostty desde Aplicaciones o escribe ghostty en tu terminal actual. La aceleración por GPU lo hace notablemente más rápido que los terminales más antiguos. Para otros métodos de instalación, visita ghostty.org/download.
Paso 2: Instala una Nerd Font
Las flechas powerline y los iconos de archivo de Starship usan glifos que las fuentes estándar de macOS no incluyen. Meslo Nerd Font funciona bien y tiene iconos claros.
Instálala con Homebrew:
brew install font-meslo-lg-nerd-fontComprueba la instalación de la fuente en Catálogo Tipográfico buscando «Meslo». Para otras opciones, consulta nerdfonts.com.
Usa el nombre exacto de la familia de la fuente
El nombre de familia que pongas en la configuración de Ghostty debe coincidir con el nombre con el que se instaló la fuente. Ejecuta:
ghostty +list-fonts | grep -i mesloDeberías ver MesloLGS Nerd Font Mono en la salida. Una familia mal escrita es la causa número uno de iconos rotos más adelante, así que copia el nombre exactamente como aparece en esta salida.
Paso 3: Configura Ghostty
Crea primero el directorio de configuración (Ghostty no leerá un archivo que no existe):
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
open -e ~/.config/ghostty/configAñade esta configuración:
font-family = MesloLGS Nerd Font Mono
font-size = 16
background-opacity = 0.85
theme = ArgonautEsto establece MesloLGS Nerd Font Mono para que los iconos powerline se vean limpios, usa 16 pt para mejor legibilidad, aplica un 85 % de opacidad de fondo y selecciona el tema Argonaut. Dos comprobaciones útiles mientras estás aquí:
ghostty +list-themes
ghostty +list-fontsEl primero lista todos los nombres de temas que puedes poner en la línea theme. El segundo lista los nombres exactos de las familias de fuentes.
Verifica: pulsa Cmd+Shift+, en Ghostty para recargar la configuración sin reiniciar. Si algo no se ve bien, cierra y vuelve a abrir Ghostty; un reinicio completo siempre aplica el archivo.
Paso 4: Instala Starship
Starship añade información contextual a tu prompt. Instálalo con Homebrew:
brew install starshipIntegra Starship con Zsh añadiéndolo a tu ~/.zshrc.
En lugar de añadir a ciegas con echo ... >> (que crea duplicados si ejecutas el comando dos veces), abre tu configuración y añade la línea de inicialización una sola vez:
open -e ~/.zshrcAñade:
eval "$(starship init zsh)"Luego recarga:
source ~/.zshrcVerifica:
starship --versionEl prompt también cambia al recargar, aunque puede verse sencillo hasta que apliques un preset en el siguiente paso. Es lo esperado. Si sospechas que ejecutaste la línea de inicialización más de una vez, compruébalo con grep -n starship ~/.zshrc y borra las que sobren. Las líneas de inicialización duplicadas provocan prompts dobles y un shell más lento.
Para otros shells, consulta la guía de instalación de Starship.
Paso 5: Aplica un preset de Starship
Los presets son archivos starship.toml ya preparados. Dos opciones populares son Tokyo Night y Catppuccin Powerline. Explora todos en starship.rs/presets.
Los presets sobrescriben tu configuración
Ejecutar un preset con -o ~/.config/starship.toml sobrescribe tu starship.toml actual. Si ya lo personalizaste, haz primero una copia de seguridad:
cp ~/.config/starship.toml ~/.config/starship.toml.bakTokyo Night
Un tema oscuro con púrpuras y azules.
mkdir -p ~/.config
starship preset tokyo-night -o ~/.config/starship.tomlInspecciona lo que escribió:
open -e ~/.config/starship.tomlCatppuccin Powerline
Un esquema de colores pastel más suave con un prompt estilo powerline.
mkdir -p ~/.config
starship preset catppuccin-powerline -o ~/.config/starship.tomlRecarga tu shell con source ~/.zshrc para aplicarlo.
Si el comando del preset da error por un nombre desconocido, ejecuta starship preset list para ver los nombres válidos en tu versión instalada de Starship y vuelve a ejecutar el comando con el nombre corregido.
Verifica: tu prompt debería mostrar ahora segmentos powerline angulados con información de Git y del directorio. Si los iconos aparecen como cuadrados, es un problema de fuente, no de Starship. Vuelve al Paso 2.
Paso 6: Ajusta tu configuración de Starship (starship.toml)
Los presets son un buen punto de partida, pero un par de cambios suelen hacer el prompt más práctico: rutas más cortas, marcas de tiempo opcionales y duración de comandos para los comandos lentos.
Abre el archivo de configuración:
open -e ~/.config/starship.tomlPega estas adiciones al final. Funcionan tanto con Tokyo Night como con Catppuccin.
Ajustes básicos recomendados
# Keep the prompt responsive if anything external is slow
command_timeout = 1000
[directory]
truncation_length = 3
truncate_to_repo = true
[cmd_duration]
min_time = 500
format = "took [$duration]($style) "
style = "yellow bold"Recarga:
source ~/.zshrcQué hacen: command_timeout evita que un módulo lento bloquee tu prompt, truncation_length limita las rutas profundas a los últimos tres directorios, y cmd_duration muestra cuánto tardó cualquier comando de más de medio segundo.
Opcional: mostrar la hora (útil en sesiones SSH)
[time]
disabled = false
format = "[$time]($style) "
time_format = "%R"Opcional: mostrar la batería (portátiles)
[battery]
disabled = falseOpcional: estilo del estado de Git
Si quieres señales de Git más claras:
[git_status]
style = "bold purple"Opcional: versiones de lenguajes
Activa Node.js cuando trabajes con Node:
[nodejs]
disabled = falsePara la lista completa de módulos y opciones, consulta la documentación de configuración de Starship. Añade módulos de uno en uno para mantener el prompt rápido y legible.
Cuando el prompt va lento
Starship incluye dos comandos de diagnóstico que conviene conocer:
starship timings
starship explainstarship timings muestra cuántos milisegundos cuesta cada módulo. starship explain muestra lo que se está renderizando y por qué. Si un módulo domina, desactívalo con una sección [module] puesta a disabled = true, mantén command_timeout configurado y vuelve a ejecutar starship timings para confirmarlo.
Paso 7: Instala zoxide
zoxide aprende los directorios que más usas y te permite saltar a ellos con z en lugar de cd.
Instálalo:
brew install zoxideAñádelo a tu ~/.zshrc (abre y edita, la misma regla que con Starship: una vez, no añadido repetidamente):
open -e ~/.zshrcAñade:
eval "$(zoxide init zsh)"Recarga:
source ~/.zshrcUsa z en lugar de cd. Por ejemplo, z proj te lleva a tu directorio ~/Projects si lo usas a menudo. Zoxide clasifica los directorios por frecuencia y antigüedad, así que mejora cuanto más lo usas. Para flags, detalles de inicialización del shell y uso avanzado, consulta la guía completa de Zoxide.
Paso 8: Sustituye ls por eza
Nota: eza es el reemplazo moderno de ls (a lo que la gente se refiere cuando menciona «exa» en tutoriales antiguos).
Cambia el comando ls predeterminado por eza para obtener listados coloreados con iconos por tipo de archivo.
Instálalo:
brew install ezaAñade alias a tu ~/.zshrc (añádelos una vez, no los añadas repetidamente):
open -e ~/.zshrcAñade:
alias ls="eza --icons"
alias ll="eza -l --icons"
alias la="eza -la --icons"Recarga:
source ~/.zshrcEstos alias:
ls: Lista archivos con iconos por tipo de archivoll: Muestra una lista detallada con iconosla: Incluye archivos ocultos en la lista detallada
Explora las funciones de eza en el sitio web de eza.
Paso 9: Añade alias personalizados
Merece la pena crear alias para cualquier cosa que escribas varias veces al día. Van en tu ~/.zshrc.
Añade esto a ~/.zshrc:
# Quick edit configuration files
alias editstarship="vim ~/.config/starship.toml"
alias editghost="vim ~/.config/ghostty/config"
# Git shortcuts
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push"
# Quick directory navigation
alias dev="cd ~/Development"
alias docs="cd ~/Documents"Aplica:
source ~/.zshrcEstos alias:
- Te permiten editar rápidamente las configuraciones de Starship y Ghostty (
editstarship,editghost) - Simplifican los comandos de Git (
gs,ga,gc,gp) - Ofrecen navegación rápida a directorios comunes (
dev,docs)
Paso 10: Añade zsh-autosuggestions y zsh-syntax-highlighting
Añade zsh-autosuggestions y zsh-syntax-highlighting para una mejor entrada de comandos y detección de errores.
Instala:
brew install zsh-autosuggestions zsh-syntax-highlightingAñade a tu ~/.zshrc (coloca syntax-highlighting cerca del final del archivo, después de los demás plugins, para que también pueda colorear las sugerencias):
open -e ~/.zshrcAñade:
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zshRecarga:
source ~/.zshrc- zsh-autosuggestions: Sugiere comandos basándose en tu historial (texto gris). Acéptalos con la tecla de flecha derecha.
- zsh-syntax-highlighting: Resalta los comandos válidos en verde y los inválidos en rojo, detectando errores antes de ejecutarlos.
Para una configuración detallada, consulta Activar el autocompletado de comandos en Zsh y Activar el resaltado de sintaxis en Zsh. ¿Quieres más? Mira nuestro resumen de los mejores plugins de Oh My Zsh.
Solución de problemas: fallos habituales
Estos son los fallos que realmente aparecen con esta configuración, en el orden en que probablemente los encontrarás.
‘xterm-ghostty’: unknown terminal type
Algunas herramientas, sobre todo en servidores remotos, no reconocen el tipo de terminal de Ghostty. Arréglalo para la sesión actual:
export TERM=xterm-256colorPara una solución permanente, configúralo solo para SSH y así no cambias el comportamiento local.
Configura TERM solo para SSH
No exportes TERM=xterm-256color globalmente. Degradaría las funciones locales de Ghostty para igualar servidores antiguos. La guarda SSH_CONNECTION de abajo solo aplica el arreglo donde hace falta.
Añade a tu ~/.zshrc:
# Some servers don't know about Ghostty's TERM entry
if [[ -n "$SSH_CONNECTION" ]]; then
export TERM=xterm-256color
fiRecarga:
source ~/.zshrcPrompt duplicado o shell lento
Síntoma: el prompt se dibuja dos veces, o cada pulsación de tecla va con retraso. Causa: varias líneas de inicialización eval, normalmente por volver a ejecutar comandos de configuración con >>.
Comprueba:
grep -nE "starship|zoxide" ~/.zshrcSolución: deja exactamente un eval "$(starship init zsh)" y un eval "$(zoxide init zsh)", borra el resto y luego ejecuta source ~/.zshrc.
command not found: starship (o zoxide, o eza)
Causa: el directorio bin de Homebrew no está en tu PATH. Es común en Apple Silicon, donde Homebrew vive en /opt/homebrew.
Comprueba:
which brewSi eso no imprime nada o apunta a un lugar inesperado, asegúrate de que tu ~/.zshrc contiene:
eval "$(/opt/homebrew/bin/brew shellenv)"Los Mac con Intel usan /usr/local/bin/brew shellenv en su lugar. Esta línea debe estar por encima de las líneas eval de Starship y zoxide en el archivo.
Cuadrados en lugar de iconos
Causa: la cadena font-family de tu configuración de Ghostty no coincide con el nombre de la fuente instalada.
Solución: ejecuta ghostty +list-fonts | grep -i meslo, copia el nombre exacto de la familia en font-family y recarga con Cmd+Shift+,. MesloLGS Nerd Font y MesloLGS Nerd Font Mono son familias válidas pero diferentes; cualquiera funciona, siempre que la cadena coincida.
El comando preset da error o tu prompt se ve por defecto
Dos causas. Primera, un nombre de preset que tu versión de Starship no conoce: ejecuta starship preset list y usa un nombre de esa salida. Segunda, el archivo de configuración nunca se escribió: compruébalo con ls -la ~/.config/starship.toml. Si falta, vuelve a ejecutar el comando del preset del Paso 5. Si el archivo existe pero nada cambia, confirma que eval "$(starship init zsh)" aparece exactamente una vez en ~/.zshrc.
Reversión: deshacer toda la configuración
Nada de esto es un camino sin retorno. Desmóntalo en orden inverso:
- Elimina las líneas de inicialización del shell. Abre
~/.zshrcy borra las líneasevalde Starship y zoxide, las líneassourcede los plugins y cualquier alias que hayas añadido:
open -e ~/.zshrc- Borra los archivos de configuración:
rm ~/.config/starship.toml
rm -rf ~/.config/ghosttySi hiciste la copia de seguridad del Paso 5, conserva starship.toml.bak.
- Desinstala los paquetes. Ghostty y la fuente son casks; el resto son fórmulas, así que dos comandos:
brew uninstall --cask ghostty font-meslo-lg-nerd-font
brew uninstall starship zoxide eza zsh-autosuggestions zsh-syntax-highlightingUna nota: la base de datos de directorios de zoxide vive en ~/.local/share/zoxide y sobrevive a la desinstalación. Déjala si piensas volver, o bórrala para una limpieza total.
Verifica: abre una ventana nueva de terminal. Deberías ver el prompt predeterminado de macOS y un arranque limpio sin errores.
Preguntas frecuentes
¿Starship o Powerlevel10k: cuál deberías usar?
Starship funciona en varios shells y máquinas con una configuración mínima. Powerlevel10k es genial si solo usas Zsh y quieres una personalización profunda y nativa de Zsh.
¿Sigues necesitando tmux si Ghostty tiene multiplexación?
Para flujos de trabajo locales, la multiplexación integrada de Ghostty funciona bien. Tmux sigue siendo útil si necesitas desconectar y retomar sesiones remotas, ejecutar trabajos largos en servidores o quieres un ecosistema maduro y portátil. Si decides que aún quieres tmux, nuestra guía para instalar tmux en macOS cubre lo básico.
Los iconos de mi prompt se ven rotos. ¿Qué pasa?
Revisa la fuente. Asegúrate de que Ghostty esté configurado con una Nerd Font (como MesloLGS Nerd Font Mono) y reinicia el terminal. La cadena exacta de la familia importa: verifícala con ghostty +list-fonts | grep -i meslo.
¿Por qué algunos servidores remotos muestran 'unknown terminal type'?
Algunos entornos no incluyen la entrada terminfo de Ghostty. Poner TERM=xterm-256color en las sesiones SSH lo soluciona.
¿Cómo mantengo Ghostty y Starship actualizados?
Ejecuta brew upgrade para las herramientas CLI y brew upgrade --cask --greedy para los casks como Ghostty y la Nerd Font. Ghostty también puede actualizarse automáticamente en macOS. Tras una actualización importante de Starship, vuelve a ejecutar starship preset list: los nombres de los presets cambian ocasionalmente entre versiones.
Conclusión
Tu terminal de Mac ahora tiene Ghostty y Starship, un preset de Starship que te gusta, ajustes mínimos y herramientas prácticas como zoxide, eza y alias sensatos. Coste total: 0 $/mes, todo local.
Próximos pasos:
- Explora las capacidades de Ghostty (temas, inspector, shaders) en Terminal Ghostty: La Guía Completa de Configuración para Mac
- Mantén tu configuración de Starship ligera añadiendo módulos solo cuando los necesites
- Explora la galería de presets de Starship cuando quieras un aspecto diferente
Si te interesa usar Starship con Fish Shell en lugar de Zsh, tengo una guía dedicada: Cómo configurar el prompt de Starship con Fish Shell. Consulta también Fish Shell vs Zsh si estás pensando en cambiar de shell.
Y si grabas tu terminal para tutoriales o demos, yo uso Screen Studio para grabaciones de pantalla pulidas en macOS.
Lee la guía completa de Ghostty

