📁 Dotfiles: Gestión, Control de Versiones y Setup Reproducible

Tu Entorno de Desarrollo como Código

Los dotfiles son los archivos y directorios de configuración ocultos en sistemas Unix (~/.zshrc, ~/.gitconfig, ~/.config/nvim/, etc.). Centralizarlos en un repositorio Git permite clonar, restaurar y sincronizar todo tu entorno de desarrollo en una máquina nueva en menos de 5 minutos.


🏗️ Estructura Recomendada con GNU Stow

GNU Stow es un gestor de enlaces simbólicos (symlinks) estándar en Linux que recrea tu estructura de carpetas automáticamente sin scripts complicados:

~/dotfiles/
├── zsh/
│   └── .zshrc
├── git/
│   └── .gitconfig
├── starship/
│   └── .config/
│       └── starship.toml
├── nvim/
│   └── .config/
│       └── nvim/
│           └── init.lua
└── mise/
    └── .config/
        └── mise/
            └── config.toml

🚀 Flujo de Trabajo con GNU Stow

# 1. Instalar GNU Stow en Linux (Debian / Ubuntu / Mint)
sudo apt update && sudo apt install stow -y
 
# 2. Situarse en la carpeta dotfiles
cd ~/dotfiles
 
# 3. Crear enlaces simbólicos hacia tu $HOME automáticamente
stow zsh        # Crea ~/.zshrc -> ~/dotfiles/zsh/.zshrc
stow starship   # Crea ~/.config/starship.toml -> ~/dotfiles/starship/...
stow nvim       # Crea ~/.config/nvim -> ~/dotfiles/nvim/...
 
# 4. Para desinstalar o quitar un enlace:
stow -D zsh

🔒 Buenas Prácticas de Seguridad

  • Nunca comitees secretos: Tokens de GitHub, claves privadas SSH (id_ed25519), contraseñas o URLs de bases de datos de producción deben guardarse en un archivo local ignorado en .gitignore (ej. ~/.zshrc.local cargado con [[ -f ~/.zshrc.local ]] && source ~/.zshrc.local).
  • Usa variables de entorno: Con herramientas como Mise-en-place para inyectar credenciales por proyecto.

🧭 Conexiones Internas