¿Qué es GNU Stow?
GNU Stow es una herramienta para gestionar dotfiles usando enlaces simbólicos (symlinks). Organizas tus configuraciones en carpetas y Stow las enlaza automáticamente en sus ubicaciones correspondientes.
Por ejemplo:
- Tienes
~/.dots/hypr/
con tus configuraciones de Hyperland. - Stow crea un symlink desde
~/.dots/hypr/
a~/.config/hypr
.
Ejemplo de configuración con Hyperland, Fish y Bash
Supongamos que quieres respaldar las configuraciones de:
- Hyperland (
~/.config/hypr/
). - Fish (
~/.config/fish/
). - Bash (
~/.bashrc
y~/.bash_profile
). - Otros archivos como Waybar (
~/.config/waybar
).
1. Instala GNU Stow
Primero, asegúrate de tener instalado GNU Stow:
sudo pacman -S stow
2. Crea una estructura de repositorio para tus dotfiles
-
Crea un directorio para tus dotfiles (si aún no lo tienes):
mkdir ~/.dots cd ~/.dots
-
Dentro de
~/.dots
, organiza tus configuraciones en carpetas. Por ejemplo:mkdir -p hypr fish bash waybar
Cada carpeta debe contener los archivos exactamente como se estructuran en tu sistema.
3. Mueve tus configuraciones al repositorio
Mueve las configuraciones relevantes a las carpetas correspondientes en ~/.dots
:
mv ~/.config/hypr ~/.dots/hypr
mv ~/.config/fish ~/.dots/fish
mv ~/.bashrc ~/.dots/bash/.bashrc
mv ~/.bash_profile ~/.dots/bash/.bash_profile
mv ~/.config/waybar ~/.dots/waybar
4. Aplica los symlinks con Stow
Ahora usa Stow para crear los symlinks en sus ubicaciones originales:
-
Ve al directorio
~/.dots
:cd ~/.dots
-
Usa Stow para cada configuración:
stow hypr stow fish stow bash stow waybar
Esto creará automáticamente los symlinks en los lugares correctos:
~/.config/hypr/
→~/.dots/hypr/
~/.config/fish/
→~/.dots/fish/
~/.bashrc
→~/.dots/bash/.bashrc
~/.config/waybar/
→~/.dots/waybar/
5. Estructura de carpetas resultante
Tu repositorio ~/.dots
debería verse así:
~/.dots/
├── hypr/
│ ├── config.conf
│ ├── autostart.sh
│ └── wallpapers/
├── fish/
│ ├── config.fish
│ └── functions/
├── bash/
│ ├── .bashrc
│ └── .bash_profile
└── waybar/
├── config
└── style.css
6. Respaldar en GitHub
Sube tu configuración a un repositorio en GitHub:
-
Inicializa el repositorio:
git init git remote add origin git@github.com:tu_usuario/dots.git
-
Añade y sube los archivos:
git add . git commit -m "Configuraciones iniciales" git push -u origin main
7. Restaurar en otro sistema
Para restaurar tus configuraciones en un nuevo sistema:
-
Clona tu repositorio:
git clone git@github.com:tu_usuario/dots.git ~/.dots
-
Usa Stow para restaurar las configuraciones:
cd ~/.dots stow hypr stow fish stow bash stow waybar
Ventajas de este enfoque
- Portabilidad: Fácil de clonar y restaurar en cualquier sistema.
- Organización: Cada configuración está en su propia carpeta.
- Control: Puedes habilitar/deshabilitar configuraciones específicas con
stow
ystow -D
(desinstalar).