📁 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.localcargado con[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local). - Usa variables de entorno: Con herramientas como Mise-en-place para inyectar credenciales por proyecto.