Sincroniza aplicaciones de macOS entre varios Mac
mac-sync-bootstrap - Sincroniza aplicaciones de macOS entre varios Mac
Sección titulada «mac-sync-bootstrap - Sincroniza aplicaciones de macOS entre varios Mac»mac-sync-bootstrap es una herramienta CLI para macOS pensada para replicar el entorno base de aplicaciones entre varios Mac de forma simple y repetible.
Se apoya en cuatro piezas que ya encajan bien en el ecosistema Apple:
HomebrewHomebrew Caskmaspara Mac App StoreiCloud Drive
La idea es directa: exportar desde un Mac la lista de paquetes y aplicaciones instaladas, guardar ese estado compartido en iCloud e importar ese mismo estado en otro Mac para instalar lo que falte.
No usa servidores externos, no necesita base de datos y no depende de infraestructura propia.
Para qué sirve
Sección titulada «Para qué sirve»Este proyecto sirve para varios casos muy concretos:
- Preparar un Mac nuevo sin reinstalar todo manualmente
- Mantener varios Mac con un conjunto parecido de herramientas
- Replicar de forma rápida el entorno base de trabajo
- Tener una rutina de bootstrap simple basada en shell
Es especialmente útil si ya usas brew, instalas software con cask y además tienes aplicaciones compradas o descargadas desde la App Store.
Qué sincroniza
Sección titulada «Qué sincroniza»mac-sync-bootstrap sincroniza tres grupos:
- Fórmulas de
Homebrew - Casks de
Homebrew - Aplicaciones instaladas con
mas
El estado compartido se guarda en iCloud en esta ruta:
~/Library/Mobile Documents/com~apple~CloudDocs/MacSync/Ahí genera dos ficheros:
Brewfileappstore_apps.txt
Cómo funciona
Sección titulada «Cómo funciona»El proyecto gira alrededor de un script principal: sync_mac_apps.sh.
Ese script soporta tres modos de trabajo:
exportimportsync
Lee el estado de la máquina actual y lo guarda en iCloud.
Hace dos cosas:
- Genera un
Brewfileconbrew bundle dump - Guarda la salida de
mas listenappstore_apps.txt
Es el comando que debes ejecutar en el Mac que ya tiene instalado el software que quieres replicar.
Lee los ficheros guardados en iCloud y aplica ese estado en el Mac actual.
Hace dos cosas:
- Ejecuta
brew bundle --file="$BREWFILE"para instalar fórmulas y casks faltantes - Recorre
appstore_apps.txte instala conmassolo las apps que no existen ya en el equipo
Es el comando adecuado para un Mac nuevo o para una máquina que quieres alinear con otra.
Ejecuta import y después export.
Este modo es útil cuando el mismo Mac puede recibir cambios del estado compartido y luego publicar su estado actualizado en iCloud.
Cómo se usa
Sección titulada «Cómo se usa»1. Clonar el repositorio
Sección titulada «1. Clonar el repositorio»git clone https://github.com/usblsb/mac-sync-bootstrap.gitcd mac-sync-bootstrap2. Ejecutar el instalador
Sección titulada «2. Ejecutar el instalador»chmod +x install.sh./install.shinstall.sh copia el script principal a ~/sync_mac_apps.sh, instala Homebrew si no existe e instala mas si falta.
3. Exportar desde el Mac origen
Sección titulada «3. Exportar desde el Mac origen»~/sync_mac_apps.sh exportEste paso crea en iCloud el inventario compartido de software.
4. Importar en el Mac destino
Sección titulada «4. Importar en el Mac destino»~/sync_mac_apps.sh importEste paso instala lo que falta en la máquina de destino sin reinstalar lo que ya existe.
5. Ejecutar una sincronización completa
Sección titulada «5. Ejecutar una sincronización completa»~/sync_mac_apps.sh syncQué hace bien
Sección titulada «Qué hace bien»El enfoque del proyecto busca ser mínimo y robusto:
- Reutiliza herramientas estándar del sistema y del ecosistema macOS
- Evita reinstalaciones innecesarias
- Soporta ejecuciones repetidas
- Guarda un log local
- Usa lockfile para evitar doble ejecución simultánea
- Funciona tanto en Apple Silicon como en Intel
El log local se escribe en:
~/Library/Logs/sync_mac_apps.logY el lockfile se crea en:
/tmp/mac_sync_bootstrap.lockRequisitos prácticos
Sección titulada «Requisitos prácticos»Para que funcione correctamente:
- Todos los Mac deben usar el mismo Apple ID
- iCloud Drive debe estar activado
- Debe haber conexión a Internet al instalar paquetes o apps
- La sesión de App Store debe estar iniciada para que
maspueda operar
Enlace al repositorio
Sección titulada «Enlace al repositorio»Repositorio público en GitHub:
Cierre técnico
Sección titulada «Cierre técnico»mac-sync-bootstrap no pretende ser un gestor de configuración complejo. Su valor está en resolver bien un problema concreto: mover y mantener sincronizado el software base entre varios Mac con una solución pequeña, entendible y sin infraestructura adicional.