Saltar al contenido

Categoría: Apple/Mac

Usando fish shell y Starship para hacer la terminal más bonita y productiva

Soy de los usuarios de computadoras a los que les encanta usar la terminal para todo lo que sea posible. Tal vez porque vengo de los días de MS-DOS y nunca me acostumbré del todo al mouse ni a las interfaces gráficas de usuario. De hecho, esa es una de las razones por las que amo Linux, pues todo es posible desde la consola. Por ello, hace tiempo decidí dedicarle tiempo a hacerla bonita y agradable visualmente, porque paso más tiempo allí y para ser más productivo. En este caso migré a fish, una shell rápida y con funcionalidades de zsh incluidas por defecto. Adicionalmente, agregué starship para mejorar la apariencia rápidamente utilizando diseños preexistentes.

Ejemplo de mi terminal con fish + starship
Ejemplo de mi terminal con fish + starship

¿Por qué decidí probar fish?

Durante mucho tiempo usé zsh junto con Oh My Zsh. No tengo quejas graves, al contrario, es una buena combinación y permite tener plugins, temas, autocompletado, integración con Git y muchas mejoras sobre Bash. Sin embargo, con el tiempo también puede sentirse un poco pesada o depender de demasiadas configuraciones.

Uno de los detalles que más me gustaron de fish es que muchas de esas cosas que normalmente uno instala con plugins en zsh ya vienen listas desde el inicio. El autocompletado inteligente, las sugerencias basadas en el historial y el resaltado de sintaxis funcionan prácticamente sin esfuerzo.

Eso, para mí, tiene mucho valor. No quería pasar una tarde completa ajustando plugins, revisando compatibilidades o copiando configuraciones de otras personas. Quería una shell moderna, cómoda y rápida, pero sin convertir la configuración de la terminal en otro proyecto paralelo.

Fish se siente más amigable desde el primer uso. Cuando escribes un comando, te sugiere opciones según lo que ya has ejecutado. Si escribes mal algo, el resaltado te ayuda a darte cuenta. Si navegas entre carpetas o usas comandos repetidos, la experiencia se vuelve bastante fluida.

¿Para qué usar Starship?

Después de migrar a fish, quería que la terminal también se viera bien. Pero, siendo honesto, tampoco quería perder demasiado tiempo configurando un prompt desde cero. Ya he pasado por esa etapa de probar temas, mover símbolos, cambiar colores y revisar capturas de pantalla hasta que todo se vea bonito.

Por eso decidí usar Starship. Es un prompt moderno, rápido y compatible con varias shells, como fish, zsh y bash. La idea es sencilla: instalarlo, activarlo y tener una terminal visualmente agradable sin dedicarle demasiadas horas. Staship tiene una base de datos de configuraciones y diseños ya existentes, en la que basta con seleccionar el que más te guste y luego editar detalles menores. Así ahorras mucho tiempo.

Starship muestra información útil directamente en el prompt. Por ejemplo, la rama actual de Git, el estado del repositorio, las versiones de lenguajes como Node.js, Python, Rust o Go, la duración de los comandos y otros datos según el proyecto en el que estés trabajando. Esto es especialmente útil al trabajar con varios repositorios. Puedes estar en un proyecto frontend, luego pasar a un backend, revisar algo viejo en PHP o abrir una carpeta con scripts personales. Tener esa información visible ayuda a evitar errores menores, como ejecutar un comando en la rama equivocada o no notar el entorno en el que estás trabajando.

Ejemplo del terminal de Skatox mostrando el historial de comandos SVN
Ejemplo de mi terminal mostrando el historial de comandos SVN

Instalación en Arch Linux

Como uso Arch Linux, la instalación fue bastante sencilla. En mi caso lo hice directamente con pacman.

sudo pacman -S fish starship

Si todo funciona bien y queremos dejarla como shell por defecto:

chsh -s /usr/bin/fish

Después de cerrar sesión y volver a entrar, fish debería iniciarse como shell principal. Luego hay que activarlo en la configuración de fish. El archivo normalmente está en:

~/.config/fish/config.fish

Allí agregué esta línea:

starship init fish | source

Con eso ya Starship empieza a funcionar al abrir una nueva terminal.

Conclusión

Usar fish y Starship no va a convertirnos mágicamente en mejores programadores, pero sí puede hacer que la terminal sea un lugar más cómodo para trabajar. Y eso importa bastante cuando pasamos muchas horas al día escribiendo comandos, moviéndonos entre carpetas, usando Git, ejecutando pruebas o levantando servicios.

En mi caso venía de zsh con Oh My Zsh, y aunque sigue siendo una gran combinación, fish me pareció más directo. Muchas cosas que antes configuraba con plugins ahora vienen listas desde el inicio. Menos tiempo para ajustar la herramienta y más tiempo para usarla.

Starship completó la experiencia porque me permitió contar con una terminal bonita, informativa y moderna sin dedicar demasiado tiempo a personalizarla. A veces uno solo quiere que las cosas funcionen y se vean bien, sin tener que pasar horas configurando cada detalle.

La terminal sigue siendo uno de mis espacios favoritos en Linux. Personalizarla no es solo una cuestión estética, también es una forma de hacer más agradable el lugar donde trabajamos todos los días. Fish y Starship me dieron justamente eso: una terminal más cómoda, más útil y visualmente mucho mejor.

Deja un comentario

Cómo redimensionar varias imágenes desde Finder en macOS

Yo tengo mi propia instancia de Nextcloud (un Dropbox libre) para almacenar en la nube mis archivos de forma privada y cifrada. Al tomar fotos desde mi iPhone, utiliza una resolución muy alta que considero innecesaria para fotos personales, entonces al subirlas a la nube, éstas ocupan mucho espacio. Generalmente luego administro, decido cuáles borro y cuales debo redimensionar para que tengan mejor tamaño. Para ello en Linux utilizo KIM (KDE Image Manipulation), pero ayer estaba editando videos en macOS y no quería pasar a mi portátil solo para esta operación. Así fue como descubrí que macOS ofrece herramientas para crear una entrada en el menú de acciones rápidas, para redimensionar varias imágenes desde Finder.

Redimensionar varias imágenes desde Finder

Si trabajas con imágenes en macOS y necesitas redimensionarlas rápidamente, puedes agregar una Acción Rápida al menú contextual de Finder. Esto te permitirá cambiar el tamaño de cualquier imagen con solo hacer clic derecho, a continuación puedes ver como será el resultado de lo que vamos a hacer.

Menu de acciones rápidas en Finder para redimensionar múltiples imágenes

Así quedará el menu para redimesionar las imágenes

Pasos a seguir

  1. Abre Automator desde el menú de aplicaciones, o busca “Automator” en Spotlight y ábrelo.
  2. Selecciona “Acción rápida” como tipo de documento.
  3. Luego debes configurar la acción, primero haz clic en el ítem de Archivos y Carpetas en el menú izquierdo, luego en donde dice Obtener los elementos de Finder especificados. Arrástralo a la sección principal como se observa en la siguiente imagen:
  4. Luego en la barra lateral de la izquierda, haz clic en Fotos, luego busca Ajustar tamaño de imágenes y agrégalo al flujo de trabajo.
  5. En el menú que sale, dile omitir y luego decide el máximo horizontal de tus fotos, en mi caso puse 1920px.
  6. Ve a Archivo > Guardar y asígnale un nombre como “Escalar Imagen”.

Ahora, selecciona cualquier imagen en Finder, haz clic derecho, ve a Acciones Rápidas y prueba la opción. Vas a notar como redimensionar varias imágenes desde Finder automáticamente sin instalar una aplicación de terceros.

Conclusión

Este método te ahorra tiempo al evitar abrir editores de imagen ni comprar software para este propósito. Puedes crear varias acciones con diferentes tamaños y optimizar tu flujo de trabajo en macOS.

Deja un comentario

Cómo tener un terminal de Ghostty siempre disponible al presionar una tecla (en macOS)

Como comenté en una entrada anterior, desde hace un par de semanas he estado utilizando Ghostty como mi principal terminal en los sistemas operativos que uso: Linux y macOS. En ambos sistemas estoy acostumbrado a tener una terminal siempre disponible al presionar una tecla, algo inspirado de los días en que jugaba Quake y sacaba la terminal del juego para ejecutar comandos.

Abrir ghostty con una tecla en macOS

Mis requerimientos

Desde los días que jugaba Quake y otros FPS. Me acostumbré a abrir la consola con ~, pero al momento de usar Linux necesitaba utilizar esa tecla así que me acostumbre a usar F1, que suele estar ubicada arriba de ~.

En el caso de macOS, por la naturaleza del sistema, prefiero tener una terminal que ocupe casi toda la pantalla y centrada. A diferencia de Linux donde me gusta una terminal a pantalla completa (también porque lo uso en mi laptop).

Configurando Ghostty con una tecla

Para macOS vamos a instalar y usar un servicio de código abierto llamado skhd. Este servicio se ejecuta como demonio escuchando las combinaciones del teclado para realizar acciones sobre ello. En este caso, lo usaremos para que al presionar F1, lance la aplicación si no se está ejecutando.

Configurando skhd

Empecemos por instalando skhd con homebrew y ejecutándolo como servicio de macOS:

brew install koekeishiya/formulae/skhd
skhd --start-service

Luego creamos un archivo de configuración en ~/.config/skhd/skhdrc con el siguiente contenido:

f1: osascript -e 'tell application "Ghostty" to activate'

Configurando Ghostty

Luego, para que nuestra terminal se enfoque una vez que presionamos nuestra tecla, debemos abrir Ghostty.

Dentro de la terminal, haz clic en la barra de menú y luego en Ajustes o Settings. Se abrirá un archivo de texto con la configuración de la terminal, ahí escribiremos las siguientes opciones:

keybind = global:f1=toggle_visibility
macos-non-native-fullscreen = true

Estas opciones permiten que al presionar F1 se abra el terminal y que no utilice la pantalla completa por defecto de macOS, sino que expanda al máximo la ventana. Haz clic de nuevo la barra de menú y selecciona la opción para recargar la configuración.

¡Y listo! Ya tienes un terminal al alcance de un botón en macOS.

Deja un comentario

AppCleaner: desinstala en tu MacOS cualquier app y sus datos

AppCleaner es una aplicación para borrar aplicaciones y sus datos en MacOS. Te preguntarás por qué es necesario usar aplicación de ese tipo. Pues resulta que en MacOS las aplicaciones vienen empaquetadas como en contenedores, que instalas arrastrándolas a la caperta /Applications. Para desinstalarlas simplemente borras la aplicación de esa carpeta: parece un icono pero en realidad es como un carpeta/contenedor con los archivos y librerías que necesita el programa para funcionar.

¿Qué pasa si solo borramos la aplicación de /Applications?

Resulta que las aplicaciones a veces suelen guardar archivos en otras carpetas para su funcionamiento. Por ejemplo, MySQL guarda las base de datos en otra carpeta, los archivos de configuración en otra. Entonces si borramos la aplicación, todos archivos quedan en nuestro disco ocupando espacio.

Si hacemos esto durante muchos años y varias veces con otras aplicaciones, acumularemos mucho espacio en disco que no estamos usando.

AppCleaner se encarga de borrar todo

AppCleaner es una herramienta fácil de usar. Simplemente arrastras la aplicación que deseas eliminar y luego te muestra una lista de archivos que crean las aplicaciones.

Interfaz de AppCleaner
Arrastra la aplicación a eliminar al programa para iniciar la desinstalación

Con esta lista puedes seleccionar si deseas eliminar todo o solo algunas cosas. Me gusta que muestra el espacio que ocupa en el disco, entonces, puedes decidir si obtener ese espacio libre o si la información es relevante para ti (o la necesitas para el futuro) dejarla en el disco.

Lista de datos que borrará AppCleaner
Lista de datos que borrará AppCleaner

Lamentablemente AppCleaner solo funciona para aplicaciones que vas a desinstalar. Si necesitas una para archivos existentes que quedaron de desinstalaciones previas sin usar este programa. No podrás limpiarla con esta aplicación.

Sin embargo, espero que esta entrada de mi blog te ayude a tener el disco de tu mac limpio de datos innecesarios. ¡Elimina las aplicaciones que no uses de forma efectiva!

Deja un comentario