<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MAC | Jose Ricardo Zapata</title><link>https://joserzapata.github.io/tag/mac/</link><atom:link href="https://joserzapata.github.io/tag/mac/index.xml" rel="self" type="application/rss+xml"/><description>MAC</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>es</language><lastBuildDate>Wed, 15 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://joserzapata.github.io/media/icon_hu_3ff8d2f8457122ba.png</url><title>MAC</title><link>https://joserzapata.github.io/tag/mac/</link></image><item><title>Mi Configuración de MAC</title><link>https://joserzapata.github.io/post/mac-setup/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://joserzapata.github.io/post/mac-setup/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Ultima actualización 15 / Abr / 2026&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="alert alert-note"&gt;
&lt;div&gt;
Este post es un &lt;strong&gt;documento vivo&lt;/strong&gt;: refleja mi configuración actual de MAC, y se actualiza con el tiempo a medida que cambio herramientas o flujos de trabajo.
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="introducción"&gt;Introducción&lt;/h2&gt;
&lt;p&gt;Esta es la guía que utilizo para configurar una MAC desde cero para mi trabajo en proyectos de programación, ciencia de datos, machine learning e inteligencia artificial con Python. El proceso está dividido en dos grandes etapas: primero se instalan las herramientas base de desarrollo de software y luego las herramientas específicas para desarrollar con Python.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-instalar-brew"&gt;1. Instalar BREW&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://brew.sh/" target="_blank" rel="noopener"&gt;Homebrew&lt;/a&gt; es el gestor de paquetes para macOS. Permite instalar, actualizar y
desinstalar software desde la terminal de forma sencilla.&lt;/p&gt;
&lt;p&gt;Abrir el &lt;strong&gt;Terminal&lt;/strong&gt; y ejecutar los siguientes comandos:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;xcode-select --install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/bin/bash -c &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La terminal pedirá la clave de la MAC para completar la instalación.&lt;/p&gt;
&lt;p&gt;Al terminar la instalación, el instalador muestra en pantalla un comando que se debe ejecutar para
agregar &lt;code&gt;brew&lt;/code&gt; al &lt;code&gt;PATH&lt;/code&gt; (para que la terminal sepa dónde está el programa). &lt;strong&gt;Este comando es
diferente en cada MAC&lt;/strong&gt;, así que hay que copiar exactamente lo que aparece en la terminal y pegarlo
para ejecutarlo.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-instalar-iterm2-con-oh-my-zsh"&gt;2. Instalar iTerm2 con Oh My Zsh&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://iterm2.com/" target="_blank" rel="noopener"&gt;iTerm2&lt;/a&gt; es un emulador de terminal para macOS con muchas mejoras sobre el
Terminal por defecto. &lt;a href="https://ohmyz.sh/" target="_blank" rel="noopener"&gt;Oh My Zsh&lt;/a&gt; es un framework para gestionar la configuración
de Zsh que añade temas, plugins y autocompletado.&lt;/p&gt;
&lt;p&gt;Yo utilizo &lt;a href="https://ghostty.org/" target="_blank" rel="noopener"&gt;Ghostty Terminal&lt;/a&gt;, que es una alternativa moderna a iTerm2, pero siempre configuro iTerm2 primero para tenerlo como base con Zsh&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install --cask iterm2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cerrar todo el terminal actual con la combinación de teclas &lt;code&gt;(⌘ + Q)&lt;/code&gt; , abrir &lt;strong&gt;iTerm2&lt;/strong&gt; y ejecutar:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chsh -s /bin/zsh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para hacer iTerm2 el terminal por defecto, seguir las instrucciones de:
&lt;a href="https://stackoverflow.com/questions/60210024/how-can-i-use-iterm-as-default-terminal-on-macos" target="_blank" rel="noopener"&gt;https://stackoverflow.com/questions/60210024/how-can-i-use-iterm-as-default-terminal-on-macos&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Instalar Oh My Zsh para mejorar la experiencia de terminal con temas, plugins y autocompletado:&lt;/p&gt;
&lt;p&gt;Abrir un nuevo terminal (debe abrir iTerm2) e instalar &lt;a href="https://ohmyz.sh/" target="_blank" rel="noopener"&gt;Oh My Zsh&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sh -c &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="3-instalar-herramientas-para-desarrollo-en-python"&gt;3. Instalar herramientas para desarrollo en Python&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://docs.astral.sh/uv/" target="_blank" rel="noopener"&gt;UV&lt;/a&gt; es una herramienta moderna para gestionar versiones de Python,
instalar paquetes y mantenerlos en ambientes virtuales aislados por proyecto.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install uv readline xz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cerrar todo el terminal con (&lt;code&gt;⌘ + Q&lt;/code&gt;) y volver a abrirlo.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-instalar-versiones-de-python"&gt;4. Instalar versiones de Python&lt;/h2&gt;
&lt;p&gt;Instalar la versión (o versiones) de Python que se usarán en los proyectos. Con UV se pueden
instalar múltiples versiones sin conflictos:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv python install 3.12
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv python install 3.13
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cerrar todo el terminal con &lt;code&gt;⌘ + Q&lt;/code&gt;, abrirlo nuevamente y definir la versión de Python global
por defecto (por ejemplo, Python 3.12):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv python install --default 3.12
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv python update shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="5-configurar-git"&gt;5. Configurar Git&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://git-scm.com/" target="_blank" rel="noopener"&gt;Git&lt;/a&gt; es el sistema de control de versiones estándar para el desarrollo de
software.&lt;/p&gt;
&lt;p&gt;Cerrar todo el terminal con &lt;code&gt;⌘ + Q&lt;/code&gt;, abrir &lt;strong&gt;iTerm2&lt;/strong&gt; y ejecutar:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configurar el nombre y correo que aparecerán en los commits:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.name &lt;span class="s2"&gt;&amp;#34;Tu nombre&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.email &lt;span class="s2"&gt;&amp;#34;micorreo@emailhost.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global color.ui auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ejecutar este comando para evitar problemas al instalar hooks de pre-commit en ambientes virtuales:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global --unset-all core.hooksPath
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="aplicaciones-base"&gt;Aplicaciones Base&lt;/h2&gt;
&lt;p&gt;Aplicaciones Base que uso :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ghostty Terminal&lt;/strong&gt; (terminal alternativo moderno):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install --cask ghostty
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://code.visualstudio.com/" target="_blank" rel="noopener"&gt;Visual Studio Code&lt;/a&gt;&lt;/strong&gt; — editor de código y notebooks Jupyter:
Seguir las instrucciones en &lt;a href="https://code.visualstudio.com/docs/setup/mac" target="_blank" rel="noopener"&gt;https://code.visualstudio.com/docs/setup/mac&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://rectangleapp.com/" target="_blank" rel="noopener"&gt;Rectangle&lt;/a&gt;&lt;/strong&gt; — para organizar las ventanas en la pantalla:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install --cask rectangle
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="limpiar-espacio-en-disco"&gt;Limpiar espacio en disco&lt;/h2&gt;
&lt;p&gt;Cada vez que Luego de varios meses de uso, es recomendable hacer una limpieza del espacio en disco ejecutando desde la
terminal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Homebrew&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew autoremove &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; brew cleanup --prune&lt;span class="o"&gt;=&lt;/span&gt;all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UV&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv cache clean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pre-commit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pre-commit clean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Docker&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker system prune -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si se usa Hugging Face para descargar modelos de machine learning:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Hugging Face&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hf cache clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si usas &lt;code&gt;poetry&lt;/code&gt; para gestionar proyectos de Python, se recomienda migrar a &lt;strong&gt;UV&lt;/strong&gt;. Si aún lo usas, puedes limpiar su cache con:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;poetry cache clear --all &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>