Setting up macOS with style

Luciano Adonis
devsChile
Published in
7 min readDec 7, 2018

Starter Pack

Puesto millennial.

El estandarizar y de preferencia automatizar el levantamiento de tu ambiente de trabajo en macOS, es prácticamente un requisito. Más si quieres estar preparado ante cualquier eventualidad, como realizar un formateo sin miedo, renovar el equipo o encontrarte un lunes por la mañana que Mojave dejó la embarrada.

La experiencia de utilizar un Macbook es algo que no cambiaría tan fácilmente por otro tipo de Hardware debido a que en su mayoría, no me dan esa sensación de confianza y velocidad, que se termina convirtiendo en un comodidad para el día a día.

Eso es lo que espero de una herramienta con la que trabajo, el ser capaz de llevarme el ritmo y no limitarme por las capacidades de esta. Más si tienen hartas cosas entretes que se pueden hacer con estas.

No necesariamente debe tener un Psycho Frame, para ser eficiente.

Pro Tip: no actualicen a Mojave.

Este post apunta a detallar algunas de las configuraciones esenciales (a mi gusto) para un ambiente de trabajo en macOS y cómo facilitar este proceso, tanto para aquellos que recién están comenzando, como para quienes ya tienen su ambiente y pueden rescatar algún tip.

Comenzaré explicando el proceso con Homebrew para la instalación de packages y luego abordando scripts que facilitan la automatización de esenciales. Finalizando con algunas configuraciones bastante útiles de iTerm junto a una lista de recomendados.

  • Homebrew
  • Scripts para ambientes de desarrollo
  • Iterm2
  • Recomendados

Homebrew

Es un gestor de paquetes para macOS que te permite instalar cosas como lo harías con los gestoresyum en CentOS o apt-geten Ubuntu. Facilitando la descarga de herramientas imprescindibles. Mas info aquí.

Para instalarlo:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

De no tener XCode, pedirá instalar Xcode Command Line Tools antes de seguir con la instalación. Ya completado, podrás bajar packages con Brew de la siguiente forma:

brew install git

Para facilitar la instalación de varios packages (Lista aquí). Brewfile te permite definir lo que vas a instalar de forma organizada, en vez de tener que copiar y pegar una lista con brew install X.

¿Por qué usar uno?

Hacer esta instalación una vez no es problema, sin embargo tener versionado este archivo con la lista de package a instalar, te ahorrará un par de dolores de cabeza y/o búsquedas en Google. Además permite especificar ya sea del tipobrew o cask.

¿Cuál es la diferencia?

  • Brew: packages que forman parte de Homebrew.
  • Cask: packages que contienen cosas con interfaz gráfica.

Brewfile

El siguiente es un brewfile basado en alguno de los packages que uso:

Teniendo el archivo listo:

brew bundle Brewfile

Para Ruby, recomiendo utilizar RVM para manejar las versiones. Evitando problemas tanto a corto como largo plazo.

La instalación tomará su tiempo, ve a tomar un café en lo que se realiza. ☕️

Edit: el siguiente repo contiene bastantes configuraciones personalizadas que valen la pena revisar.

Errores

En el caso que ya tengas instalado un package, tirará un error así:

==> Installing Cask iterm2
Error: It seems there is already an App at '/Applications/iTerm.app'.

Esto no afectará la instalación del resto de paquetes. Para evitar repetir paquetes puedes revisar con:

brew list

En caso de no encontrar un package, producto de que este mal escrito o no exista, dejará de ejecutarse la instalación.

Otros comandos

  • Generar un Brewfile en base a lo que tienes instalado con brew bundler dump.
  • Desinstalar packages que no esten dentro de tu Brewfile con brew bundle cleanup.

Scripts para ambientes de desarrollo

Cuida tu ambiente de trabajo con un roboc como Talus.

Utilizando un Brewfile puedes definir la lista de packages que quieres tener en tu ambiente, permitiendo mantenerlos al día, reinstalarlos de ser necesario y ser popular.

Lo que consigues al utilizar un script de automatización para ambientes de desarrollo, es facilitar enormemente el proceso de instalación de otros componentes como el mismo Brew, dejándote el trabajo de solo llegar y ejecutar.

Aunque no necesariamente tienes que solo quedarte viendo cómo se instala automágicamente, con algunas modificaciones, puedes extender la funcionalidad de estos en base a las necesidades de tu ambiente.

Ejemplos

  • Talus por juanbrujo —Es como un TL;DR de este post, pero sin tener que leer. Con una que otra modificación, puedes adaptarlo a lo que necesites.
  • DevSetup por donnemartin — La cantidad de ambientes distintos que puede entregar es maravilloso.

⭐️ Lifehack para diseño de bots: robohash

iTerm 2

Un reemplazo para la terminal no tan estilosa de macOS que viene de fábrica. ¿Por qué no instalarla con brew? En base a mi experiencia, no queda muy bien, por lo cual recomiendo descargarlo directamente de su sitio.

Para utilizar ZSH como terminal por defecto:

sudo -s 'echo /usr/local/bin/zsh >> /etc/shells' && chsh -s /usr/local/bin/zsh

ZSH permite personalizar tu terminal de formas geniales, pero por amor a la simpleza dentro de este post, edita el archivo~/.zshrc y agrega “bureau” en el campo de ZSH_THEME.

...
ZSH_THEME="bureau"

Puedes abrir una nueva terminal para ver los cambios aplicados o simplemente ejecutar source ~/.zshrc. Algo así debería verse:

Lo más probable es que te salga username@MacBook-Pro-Bla ~ lo cual puedes modificar con los siguientes comandos:

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"

Para configuraciones de color, detalle, shortcuts, existe bastante cobertura sobre como lograr algo rimbombante, así que dejo un link de referencia:

iTerm 2: Window Style

Future

Cuando vi que se podía hacer aparecer la terminal semi transparente desde la parte superior de la pantalla con un shortcut, convirtiéndolo en un movimiento fluido y elegante, simplemente me encantó. Lamentablemente no recuerdo donde leí el tutorial para lograrlo. Lo bueno es que no era tan complejo, así que aquí están las configuraciones para el que aprecie tal función:

Desde: Preferences > Profiles > Window

  • Transparency y blur: a gusto del consumidor. ✅
  • Style: Full-Width Top of Screen. ✅
Ignorar Profiles.

Desde: Preferences > Keys > Hotkey

Show/hide all windows with a system-wide hotkey: command + algo

Para mayor claridad, los shortcuts del gif son:

  • Mostrar ventana (custom): command + i
  • Dividir verticalmente: command + d
  • Pantalla completa: command + return

En retrospectiva no fue buena idea utilizar command + i, lo cual se volvió evidente luego de tratar de cambiar a cursiva el formato de una palabra mediante su shortcut.

Otras configuraciones:

No obligatorias pero es bueno tenerlas a mano.

Unlimited Scrollback: comodidad mas que nada.

Desde: Preferences > Profiles > Terminal > Scrollback Buffer

Automatically log session input to files in: ⚠/path/que/te/acomode

Desde: Preferences > Profiles > Session > Miscellaneous

Guardar el log de tu consola, puede salvarte algún día.

Colors

Desde: Colors

No es necesario editar cada color, debido a que ya existe el tema para eso, Matrix color scheme for iTerm2. Para no extenderme, dejo el link aquí al post que explica como agregarlo en el paso 2 de 3.

⭐️ Lifehack: para cambiar el sonido de error en la terminal tienes que ir a Preferencias del sistema > Sonido > Efecto de sonido.

⭐️ Edit Lifehack: no cambies los colores, te dificultará varias cosas a la larga 😅

El que sepa cómo poner un sonido de pato de hule a la terminal, que haga un post. Tendrá 50 claps de mi parte y mi respeto.

Recomendados

Una pequeña lista con las Apps que te darán aún mas estilo en macOS.

En resumen

Cool Retro Term.

Más allá de la terminal, customizaciones y lifehacks que puedas usar, el verdadero estilo al trabajar se encuentra en nosotros y en cómo lo hacemos.

Las posibilidades para hacerlo están, úsalas.

Mas info en

--

--