Sí, con caveats:
- Hace backup automático de configs modificadas
- Cada archivo generado lleva un marcador
# dotfilespara identificación --dry-runpermite ver qué haría sin ejecutar- Nunca toca:
/boot, kernel, BIOS, particiones, formateo - Sí modifica: paquetes del sistema, configs en
/etc/, configs de usuario
Comandos potencialmente destructivos:
dnf5 upgrade -y→ actualiza paquetesddsolo se usa como fallback sifallocatefallakillall cfprefsden macOS es inofensivo (es daemon de preferences)
Los archivos con marcador dotfiles:
# Linux
sudo rm -f /etc/sysctl.d/99-dotfiles-agentic.conf
sudo rm -f /etc/systemd/zram-generator.conf
sudo rm -f /etc/udev/rules.d/60-ioschedulers.rules
sudo sed -i '/dotfiles-agentic: noatime/d' /etc/fstab
sudo sysctl --system
# Restaurar fstab desde backup
sudo cp /etc/fstab.dotfiles-backup-* /etc/fstabRestaurar configs de usuario:
ls ~/.dotfiles-backup/
# Copia los que quieras restaurarStow es excelente para dotfiles puros, pero:
- Mi estructura incluye scripts de instalación que tocan
/etc/ - Necesito
setup.shejecutable desde cualquier lado - Los symlinks de dotfiles son solo una parte
Si prefieres Stow puro, los configs en config/ funcionan con:
cd ~/.dotfiles
stow zsh tmux kitty starship git- Crea un nuevo step en
setup.sh:\step_mi_tool() { should_run mi_tool || return 0 log_section "Mi tool" # tu código }
- Agrégalo al pipeline en
main() - Agrégalo a la lista de steps disponibles en
usage()
- Ansible: overkill para setup personal, requiere Python.
- Nix: hermosa pero cambia todo el modelo mental.
- Bash + PowerShell: 100% portable, sin dependencias raras, 2 archivos entry point.
Parcialmente. setup.sh cambia el shell default a Zsh en Linux. Para Fish, los
plugins de ~/.zshrc no aplican, pero el resto (tmux, kitty, dev-tools) sí.
Edita config/zsh/.zshrc y copia lo que aplique a ~/.config/fish/config.fish.
cd ~/.dotfiles
git pull
./setup.shEl script es idempotente — corre lo que falte.
Sí. WSL2 con Ubuntu/Fedora adentro, setup.sh corre normal.
- Kitty: GPU-accelerated, image preview, protocolo de graphics estable.
- Alacritty: similar pero más simple, scrollback limitado.
- WezTerm: Lua-based, muy flexible, pero más lento.
Si prefieres Alacritty, reemplaza config/kitty/kitty.conf por tu
alacritty.toml y actualiza _install_nerd_font en setup.sh.
btop ya viene. Alternativas GUI:
- Mission Center (Linux, GNOME):
flatpak install flathub io.missioncenter.MissionCenter - iStat Menus (macOS, comercial): $15
- HWiNFO64 (Windows): gratis
- 5-10x más rápido en codebases grandes
- Respeta
.gitignorepor default - Output coloreado
./setup.sh --skip ssd,ram
# o
DOTFILES_SKIP=ssd,ram ./setup.sh./setup.sh --helpDetección es heurística:
- VMs reportan CPU genérico (QEMU Virtual CPU)
DOTFILES_CPU_PROFILE=otherDOTFILES_RAM_GBse detecta correctamenteDOTFILES_IS_LAPTOP=0(chassis = 1 = Other)DOTFILES_STORAGE_TYPE=ssd(default VMs usan virtual disk)
Las optimizaciones aplican igual, pero algunas (scheduler, governor) pueden no tener efecto.
Sí, MIT. Fork, modifica, redistribuye.
Abre un issue con:
- Output de
./setup.sh --dry-run(la parte que falla) ~/.dotfiles-install.log(últimas 100 líneas)- SO y versión (
cat /etc/os-releaseosw_vers) - Hardware (
lscpu,free -h)