Herramientas de sincronización de dotfiles de Linux

Antes, ejecutar la misma configuración de Linux en tres máquinas significaba clonar una unidad y esperar que el hardware coincidiera. El nuevo estándar es: sincroniza tus dotfiles con una herramienta, mantén una lista de paquetes en Git, y deja que tus archivos se sincronicen a través de un canal separado. Estas siete herramientas de escritorio cubren las tres capas, desde sincronizar dos archivos ~/.zshrc hasta una reconstrucción declarativa completa de Nix.

Qué buscar en una herramienta de sincronización de dotfiles

Algunas preguntas determinan la forma:

Comparación rápida

Aplicación Mejor para Plan gratuito Pagado Plataformas Destacado
chezmoi Dotfiles con plantilla con secretos Gratis Linux, macOS, Windows Plantillas, cifrado, configs conscientes de máquina
GNU Stow Granja de enlaces simbólicos desde un repo Git Gratis Linux, macOS El flujo de trabajo más antiguo y simple
yadm Git nativo para tus dotfiles Gratis Linux, macOS Script bootstrap, rama alt por máquina
dotbot Configuración de enlace simbólico declarativa YAML Gratis Linux, macOS Multiplataforma, huella mínima
Ansible Configuración de máquina completa, no solo dotfiles AAP pagado Linux, macOS, Windows Una herramienta para una flota o un portátil
Syncthing Sincronización de archivos P2P continua Gratis Linux, macOS, Windows Sin nube, sincronización directa de máquina a máquina
Nix Home Manager Entorno de usuario reproducible Gratis Linux, macOS La misma config produce la misma configuración siempre

Las aplicaciones

1. chezmoi — mejor para dotfiles con plantilla con secretos

chezmoi trata tus dotfiles como código fuente, con plantillas por máquina (Go’s text/template) y cifrado nativo a través de age o GPG. Un repo cubre tu Mac de trabajo, tu caja Linux de casa y un servidor sin interfaz gráfica, y las diferencias (correo electrónico, complementos de editor, entradas solo de trabajo) viven en condicionales de plantilla.

Dónde se queda corta: Curva de aprendizaje para la sintaxis de plantillas. Fusionar un resultado de plantilla con un archivo gestionado por el sistema requiere un patrón específico que la mayoría de la gente aprende de la manera difícil.

Precio: Gratis, código abierto.

Plataformas: Linux, macOS, Windows.

Descargar: chezmoi

Conclusión: El estándar actual para cualquiera que haya superado un script de enlace simbólico.

2. GNU Stow — mejor para el flujo de trabajo más simple

GNU Stow fue escrito en 1994 y todavía hace exactamente una cosa: crear enlaces simbólicos desde un directorio de paquete a tu hogar. Un repo de dotfiles se convierte en un “paquete” de Stow, y stow zsh crea enlaces simbólicos a su contenido. Sin plantillas, sin secretos, sin magia.

Dónde se queda corta: Las configuraciones específicas de máquina significan múltiples ramas o paquetes por host. Los secretos tienen que vivir en otro lugar (un montaje cifrado, un gestor de contraseñas).

Precio: Gratis, código abierto.

Plataformas: Linux, macOS, Windows (a través de WSL).

Descargar: GNU Stow

Conclusión: La opción correcta cuando tu configuración es pequeña y nunca vuelves a querer pensar en la herramienta de sincronización.

3. yadm — mejor para tratar los dotfiles como un repo Git

yadm (Yet Another Dotfiles Manager) es Git más conveniencias específicas de dotfiles: scripts bootstrap, archivos alt por host u OS, y cifrado a través de GPG. Dado que es realmente solo un envoltorio alrededor de Git, todo lo que ya sabes sigue funcionando.

Dónde se queda corta: La convención de archivo alt es poderosa pero menos identificable que la plantilla de chezmoi. La historia de cifrado es básica en comparación con herramientas basadas en age.

Precio: Gratis, código abierto.

Plataformas: Linux, macOS.

Descargar: yadm

Conclusión: El paso más suave desde un repo Git simple de dotfiles.

4. dotbot — mejor para la configuración pequeña declarativa

dotbot lee un archivo de instalación YAML y crea enlaces simbólicos, clona repos y ejecuta comandos de shell. Es lo suficientemente pequeño como para venderse en tu repo de dotfiles, por lo que clonar el repo y ejecutar ./install es todo el bootstrap en una máquina nueva.

Dónde se queda corta: Sin plantillas. Sin cifrado nativo. Las máquinas complejas terminan con archivos install.yaml largos que se vuelven difíciles de leer.

Precio: Gratis, código abierto.

Plataformas: Linux, macOS.

Descargar: dotbot en GitHub

Conclusión: La opción correcta cuando quieres un archivo de instalación declarativo y nada más.

5. Ansible — mejor cuando la configuración va más allá del directorio de inicio

Ansible administra máquinas completas desde un conjunto de playbooks. Para una configuración personal, un playbook instala paquetes, establece parámetros del kernel, coloca dotfiles y configura servicios en una pasada. El mismo playbook se ejecuta en un portátil o un nodo homelab.

Dónde se queda corta: Excesivo para un problema de dotfile puro. Las ejecuciones de playbook son más lentas que una granja de enlaces simbólicos. La fatiga YAML es real una vez que pasas de unos pocos cientos de líneas.

Precio: Gratis, código abierto. Nivel empresarial de pago de Ansible Automation Platform.

Plataformas: Linux, macOS, Windows.

Descargar: Ansible

Conclusión: La herramienta para cualquiera que quiera un flujo de trabajo para su portátil y sus servidores.

6. Syncthing — mejor para los archivos, no las configuraciones

Syncthing es la sincronización de archivos peer-to-peer que tu administrador de dotfiles debe tener al lado. Mantén las configuraciones declarativas en Git, pero deja que Syncthing mueva un par de cientos de gigabytes de Documents, Music y archivos de rasguño de proyecto entre máquinas sin que un proveedor de nube los toque nunca.

Dónde se queda corta: No es una herramienta de dotfiles en absoluto. Trae tus propios hábitos de resolución de conflictos. La sincronización inicial de una carpeta grande tarda lo que permite el enlace más lento.

Precio: Gratis, código abierto.

Plataformas: Linux, macOS, Windows.

Descargar: Syncthing

Conclusión: La otra mitad de una configuración real de múltiples máquinas, que tu herramienta de dotfiles solo no reemplazará.

7. Nix Home Manager — mejor para reproducibilidad completa

Nix Home Manager describe tu entorno de usuario completo en expresiones Nix: paquetes, dotfiles, servicios, todo. Una máquina nueva obtiene nix run home-manager -- switch y aparece idéntica a todas las otras máquinas en el flake.

Dónde se queda corta: La curva de aprendizaje de Nix es real. Algunas aplicaciones propietarias no tienen paquetes Nix. Los rollback son magia cuando funcionan y dolorosos cuando un canal se rompe.

Precio: Gratis, código abierto.

Plataformas: Linux, macOS.

Descargar: Nix Home Manager

Conclusión: La opción correcta para cualquiera dispuesto a invertir en Nix desde el principio para verdadera reproducibilidad.

Cómo elegir la correcta

Preguntas frecuentes

¿Dónde almaceno secretos en un repo de dotfiles? Nunca en texto plano. chezmoi y yadm ambos cifran en reposo. Para repos Git simples, usa age o GPG en archivos específicos, o mantén secretos completamente fuera del repo.

¿Funcionan estas herramientas en macOS? Todas las herramientas en esta lista soportan macOS. Nix Home Manager y chezmoi son con mucho las más amigables con macOS.

¿Cómo manejo configuraciones específicas de máquina? Plantillas (chezmoi), archivos alt (yadm), ramas (yadm y Stow), o bloques protegidos por host en Ansible. El patrón de plantilla escala mejor después de dos máquinas.

¿Debería hacer commit de mi repo de dotfiles públicamente? Solo después de una auditoría. Incluso una configuración pequeña a menudo lleva un correo electrónico o un alias solo de trabajo. Lo privado es más seguro.

¿Cómo sincronizo archivos que cambian constantemente, como marcadores del navegador o historial de shell? Syncthing, no una herramienta de dotfiles. Los dotfiles versionados no disfrutan el cambio cada hora.

¿Vale la pena aprender Nix solo para dotfiles? Solo para dotfiles, no. Para cualquiera que construya homelabs, contenedores de desarrollo y compilaciones reproducibles, sí.