Dotfiles sincronizados

🔁 Por qué sincronizar tus dotfiles Link to heading

Mantener tus archivos de configuración (alias, .vimrc, .bashrc, .gitconfig, etc.) sincronizados entre tus equipos es una práctica poderosa en el entorno DevOps / SysAdmin:

  • Te permite clonar tu configuración en una máquina nueva en minutos.
  • Evita divergencias en equipos.
  • Tiene respaldo en control de versiones (historial, rollback).
  • Facilita colaboración (por ejemplo, compartir una configuración base con colegas).

Pero no todo es tan trivial: hay detalles como manejar secretos, diferencias por sistema operativo, permisos especiales y flujos seguros.

Herramientas comunes y elección Link to heading

Antes de sumergirnos, algunas herramientas populares:

Herramienta / enfoque Pros Contras
Scripts caseros + symlinks Simple, control total Difícil de mantener a medida que crece
GNU Stow Manejo modular con symlinks Sin soporte para plantillas ni secretos
yadm, rcm Foco en dotfiles, algunas funciones extra Menos extensibles que herramientas dedicadas
Chezmoi Plantillas, gestión de secretos, enfoque declarativo Curva de aprendizaje inicial, requiere seguir ciertas convenciones

Recomiendo usar Chezmoi como base, por su balance entre poder y usabilidad.

Paso a paso con Chezmoi Link to heading

1. Instalación Link to heading

La forma recomendada de instalar es:

sh -c "$(curl -fsLS get.chezmoi.io)"

2. Inicializar tu dotfiles localmente Link to heading

chezmoi init

Esto crea el repositorio fuente en ~/.local/share/chezmoi.

Luego agregás tus archivos:

chezmoi add ~/.zshrc
chezmoi add ~/.vimrc

Y podés editar con:

chezmoi edit ~/.zshrc

3. Commit y enlazar repositorio remoto Link to heading

Dentro del directorio fuente:

chezmoi cd
git init
git remote add origin <url_de_tu_repo>
git add .
git commit -m "Inicial dotfiles"
git push -u origin main

Así tu configuración queda versionada y disponible para otras máquinas.

4. Aplicar en otra máquina Link to heading

En el nuevo equipo:

chezmoi init --apply <tu_repo.git>

Luego:

chezmoi diff   # para ver qué cambiaría
chezmoi apply  # para aplicar los cambios

Y cuando actualices tu repositorio remoto:

chezmoi update

Todo esto está documentado en la guía rápida oficial.


Ajustes avanzados y buenas prácticas Link to heading

Manejar secretos Link to heading

No conviene subir contraseñas, llaves privadas o credenciales en texto plano. Chezmoi permite integración con administradores de contraseñas como 1Password, Bitwarden, LastPass, pass y KeePassXC o cifrado de archivos dentro del repositorio.

Plantillas y condicionales Link to heading

Podés usar plantillas (Go templates) para que una sola configuración adapte valores según la máquina (hostname, sistema operativo, variables).

Ignorar archivos Link to heading

Definí .chezmoiignore para excluir archivos del despliegue. También podés definir si un archivo se debe aplicar como symlink (enlace simbólico) o como una copia física en el sistema de archivos.

Rutina de edición segura Link to heading

En lugar de modificar directamente ~/.zshrc, usá:

chezmoi edit ~/.zshrc

o editá el archivo fuente y luego chezmoi apply. Esto evita inconsistencias.

⚠️ Tip: podés automatizar commit + push tras aplicar cambios configurándolo en chezmoi (ver documentación oficial).

Riesgos comunes Link to heading

  • Si no revisás con diff, podés sobrescribir configuraciones locales importantes.

  • No usar plantillas puede provocar que un archivo de una máquina sobrescriba otro con diferencias irrelevantes.

  • Si querés gestionar secretos y no lo hacés correctamente, podés exponer información sensible.

Flujo mínimo recomendado Link to heading

  1. chezmoi add

  2. chezmoi cd → git commit → git push

  3. En otras máquinas: chezmoi init –apply

  4. Al modificar dotfiles: usar chezmoi edit, luego chezmoi apply → commit → push

  5. Mantener siempre chezmoi diff antes de aplicar cambios

🎯 Conclusión Link to heading


Sincronizar tus dotfiles no es solo comodidad: es una práctica que aporta reproducibilidad, orden y seguridad si se hace bien. Aunque hay herramientas más simples, Chezmoi te da una gran ventaja para escalar tu configuración entre múltiples máquinas, sin duplicaciones ni riesgos innecesarios.

Este post sirve como introducción. En próximas entregas vamos a profundizar en:

  • Ejemplos de plantillas avanzadas

  • Integración con CI/CD o contenedores

  • Gestión de secretos (GPG, 1Password, Bitwarden)