Repositorio centralizado para gestionar mis configuraciones (dotfiles) de macOS.
Aquí se encuentran las "fuentes de la verdad" de mis configuraciones, las cuales se despliegan en el sistema mediante enlaces simbólicos.
Actualmente gestiono las siguientes herramientas:
- Aerospace: Tiling Window Manager para macOS.
- Sketchybar: Barra de estado personalizada.
- JankyBorders: Bordes de ventana con colores y esquinas redondeadas.
- Ghostty: Terminal emuladora GPU-accelerated.
- Fastfetch: Información del sistema con tema de Serial Experiments Lain.
- Silakka54: Configuración y visualización automática del teclado.
- Starship: Prompt para la terminal moderno, rápido y multiplataforma.
mydotfiles/
├── aerospace/ # Configuración de AeroSpace
├── borders/ # Configuración de JankyBorders
├── ghostty/ # Terminal Ghostty (Config, Temas, Shaders)
├── fastfetch/ # Configuración de Fastfetch (Tema Lain)
├── silakka54/ # Teclado Silakka54 (Ver README interno)
├── sketchybar/ # Configuración de Sketchybar
├── starship/ # Prompt (Multiplataforma)
└── README.mdPara mantener este repositorio limpio y organizado, utilizamos un enfoque profesional basado en Enlaces Simbólicos (Symlinks).
- Ubicación Real: Las carpetas reales con los archivos de configuración viven dentro de este repositorio (
~/mydotfiles). - Ubicación del Sistema: Los programas esperan encontrar sus configs en rutas estándar como
~/.config. - El Enlace: En lugar de copiar archivos, creamos un "acceso directo" (symlink) en
~/.configque apunta a~/mydotfiles.
Esto nos permite editar y versionar todo desde una sola carpeta (mydotfiles) y que los cambios se reflejen automáticamente en el sistema.
Si quieres agregar un nuevo programa (ej. nvim):
- Mover: Mueve la carpeta de configuración original al repo.
mv ~/.config/nvim ~/mydotfiles/
- Enlazar: Crea el enlace simbólico desde el repo a la ruta original.
ln -s ~/mydotfiles/nvim ~/.config/nvim
Si clonas este repositorio en una nueva máquina:
- Clona el repo:
git clone https://github.com/jdfesa/mydotfiles.git ~/mydotfiles - Crea los enlaces necesarios:
# AeroSpace ln -s ~/mydotfiles/aerospace ~/.config/aerospace # Sketchybar ln -s ~/mydotfiles/sketchybar ~/.config/sketchybar # JankyBorders mkdir -p ~/.config/borders ln -s ~/mydotfiles/borders/bordersrc ~/.config/borders/bordersrc # Ghostty mkdir -p ~/.config/ghostty ln -s ~/mydotfiles/ghostty/config ~/.config/ghostty/config # Fastfetch ln -s ~/mydotfiles/fastfetch ~/.config/fastfetch # Starship ln -s ~/mydotfiles/starship/starship.toml ~/.config/starship.toml
Dado que este repositorio es la "fuente de la verdad" de todo el sistema, es una excelente práctica bloquear carpetas de configuraciones que consideres estables y terminadas (por ejemplo, sketchybar). Esto evita estropear la configuración con atajos de teclado accidentales desde tu editor (VS Code, etc).
Utilizamos permisos nativos del sistema de archivos para aplicar un Modo de Solo Lectura:
-
Bloquear una carpeta (Blindar) Previene de forma absoluta la modificación accidental. Si tu editor intenta guardar un cambio, arrojará un error de "Permiso denegado".
chmod -R a-w <nombre_de_la_carpeta> # Ejemplo: chmod -R a-w sketchybar
-
Desbloquear una carpeta (Modificar) Devuelve los permisos de escritura a tu usuario cuando realmente necesites desarrollar nuevos cambios.
chmod -R u+w <nombre_de_la_carpeta> # Ejemplo: chmod -R u+w sketchybar