Configuración personal de CachyOS con Hyprland, Noctalia, Alacritty y Fish, gestionada con Git y GNU Stow.
Cada carpeta de primer nivel es un paquete de Stow. Su contenido reproduce la estructura de $HOME.
| Paquete | Enlaza |
|---|---|
hypr |
~/.config/hypr |
noctalia |
~/.config/noctalia |
alacritty |
~/.config/alacritty |
fish |
~/.config/fish |
gtk |
~/.config/gtk-3.0, ~/.config/gtk-4.0, ~/.config/xsettingsd |
qt |
~/.config/qt6ct |
uwsm |
~/.config/uwsm |
btop |
~/.config/btop |
icons |
~/.icons/default |
scripts |
~/.local/bin/* |
vscode |
~/.config/code-flags.conf, ~/.config/Code - OSS/User/settings.json |
docs/ no se enlaza. Contiene el CHANGELOG y las listas de paquetes.
state/ tampoco se enlaza. Contiene settings.toml de Noctalia, donde se guardan los cambios hechos desde su ventana de ajustes.
Noctalia reemplaza ese archivo al guardar, así que no puede ser un enlace simbólico.
Se copia con noctalia-sync save, que el hook hooks/pre-commit ejecuta automáticamente,
y se restaura con noctalia-sync restore.
sudo pacman -S --needed git stow github-cli gitleaks
gh auth login # solo para poder hacer push (el repo es público)
git clone https://github.com/Anim41r0nic/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Reinstalar paquetes (revisa la lista antes)
sudo pacman -S --needed - < docs/pkglist.txt
# Si ya existen configuraciones por defecto (/etc/skel), muévelas antes
# para que stow no dé conflicto. Por ejemplo:
# mv ~/.config/hypr ~/.config/hypr.orig
stow -t ~ hypr noctalia alacritty fish gtk qt uwsm btop icons scripts vscode
git config core.hooksPath hooks # activa el hook que guarda los ajustes de Noctalia
noctalia-sync restore # restaura los ajustes hechos desde la interfaz de Noctalia
papirus-green # genera el tema de iconos Papirus-Dark-Green (requiere papirus-icon-theme)
# gsettings (dconf, no versionado): iconos y fuente monoespaciada para GTK4/libadwaita
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark-Green'
gsettings set org.gnome.desktop.interface monospace-font-name 'JetBrainsMono Nerd Font 11'- Editar la configuración como siempre (en
~/.config/...): los cambios quedan en el repositorio. - Revisar y guardar:
git -C ~/dotfiles status,git -C ~/dotfiles diff,git -C ~/dotfiles commit -am "...",git -C ~/dotfiles push. - Quitar los enlaces de un paquete:
stow -D -t ~ <paquete>. - Actualizar las listas de paquetes:
pacman -Qqen > docs/pkglist.txt; pacman -Qqem > docs/pkglist-aur.txt.
- Los archivos
noctalia.*los genera Noctalia a partir del fondo de pantalla y están excluidos en.gitignore. - Nunca se versionan secretos: ni
~/.config/gh, ni claves SSH, ni.env. El hookhooks/pre-pushejecuta gitleaks y cancela el push si detecta alguno.