Objetivo
Dejar este repo en lo mínimo funcional para que sea compatible con Linux + macOS. Actualmente tiene 4 directorios macOS-only que agregan complejidad innecesaria para un repo OSS cross-platform.
Directorios a eliminar
| Directorio |
Contenido |
Riesgo |
sketchybar/ |
sketchybarrc, sketchybar-profile.sh, 14 plugins |
macOS menu bar — cero uso en Linux |
yabai/ |
yabairc |
macOS window manager — cero uso en Linux |
skhd/ |
skhdrc |
macOS hotkeys — cero uso en Linux |
karabiner/ |
karabiner.json |
macOS keyboard remapping — cero uso en Linux |
Total: 20 archivos
Archivos a actualizar
install.sh (602 líneas, ~103 con referencias macOS)
Cambios necesarios:
- Remover:
install_formula_if_missing sketchybar, yabai, skhd (líneas 343-345)
- Remover:
karabiner_cli_available, karabiner_app_exists, karabiner_cli_path (funciones completas)
- Remover:
backup_karabiner_if_exists y su llamada (línea 404)
- Remover: backup de sketchybar, yabai, skhd (líneas 436-439)
- Remover: symlink checks de sketchybar, yabai, skhd, karabiner (líneas 219-224)
- Remover: validación de sketchybar scripts (línea 230)
- Remover: validación de karabiner JSON (línea 237)
- Remover: start sketchybar via brew services (líneas 513-518)
- Remover:
check_karabiner_app_exists, check_karabiner_cli_available en --check mode
- Actualizar: título de "Instalador macOS" → "Instalador dotfiles" (línea 266)
- Actualizar: sección de deps macOS en
--check a warning genérico
README.md
Cambios necesarios:
- Línea 3: quitar "macOS" del título, hacer genérico
- Línea 35: quitar "macOS bar" y "sketchybar/"
- Línea 36: quitar "macOS windowing" y "yabai/, skhd/"
- Línea 37: quitar "karabiner/karabiner.json"
- Línea 88: quitar referencia a sketchybarrc
- Líneas 90-106: eliminar sección completa "SketchyBar"
- Línea 125: quitar
jq empty karabiner/karabiner.json del CI
THIRD_PARTY.md
Remover filas de:
- SketchyBar
- yabai
- skhd
- Karabiner-Elements
TODO.md
Remover ítems completados de:
- SketchyBar macOS (línea 16)
- Issues #327/#328 yabai/skhd (línea 17)
- Karabiner-Elements macOS (línea 18)
CLAUDE.md
- Línea 7: "Dotfiles para macOS" → "Dotfiles para terminal workflow"
- Línea 37: quitar
ghostty/config del árbol si se quiere simplificar (ghostty es cross-platform, puede quedarse)
zsh/zshrc
- Línea 2: "macOS + Ghostty" → más genérico
.github/workflows/ci.yml
- Línea 46: remover
sketchybar/**/*.sh de la lista de bash files a validar (ya no existe)
Lo que se MANTIENE (cross-platform)
| Directorio |
Uso |
Compatibilidad |
| ghostty/ |
Terminal config |
✅ Linux + macOS |
| starship/ |
Prompt config |
✅ Linux + macOS |
| tmux/ |
Multiplexor |
✅ Linux + macOS |
| zsh/ |
Shell config + scripts |
✅ Linux + macOS |
| nvim/ |
Editor config |
✅ Linux + macOS |
| claude/ |
Statusline Claude Code |
✅ Linux + macOS |
| opencode/ |
OpenCode config |
✅ Linux + macOS |
| herdr/ |
Herdr config |
✅ Linux + macOS |
| scripts/ |
OSS audit + tools |
✅ Linux + macOS |
| local/ |
Env example |
✅ Linux + macOS |
| bun/, npm/, pnpm/, uv/ |
Package manager configs |
✅ Linux + macOS |
| lazygit/, micro/ |
Tool configs |
✅ Linux + macOS |
Pre-condiciones
bash scripts/oss-audit.sh debe seguir pasando después de cada cambio
bash install.sh --check debe seguir pasando (sin errores, warnings aceptables)
bash -n install.sh debe seguir pasando (syntax check)
zsh -n zsh/zshrc debe seguir pasando
- CI workflow no debe romperse
Criterio de aceptación
Objetivo
Dejar este repo en lo mínimo funcional para que sea compatible con Linux + macOS. Actualmente tiene 4 directorios macOS-only que agregan complejidad innecesaria para un repo OSS cross-platform.
Directorios a eliminar
sketchybar/yabai/skhd/karabiner/Total: 20 archivos
Archivos a actualizar
install.sh (602 líneas, ~103 con referencias macOS)
Cambios necesarios:
install_formula_if_missing sketchybar,yabai,skhd(líneas 343-345)karabiner_cli_available,karabiner_app_exists,karabiner_cli_path(funciones completas)backup_karabiner_if_existsy su llamada (línea 404)check_karabiner_app_exists,check_karabiner_cli_availableen--checkmode--checka warning genéricoREADME.md
Cambios necesarios:
jq empty karabiner/karabiner.jsondel CITHIRD_PARTY.md
Remover filas de:
TODO.md
Remover ítems completados de:
CLAUDE.md
ghostty/configdel árbol si se quiere simplificar (ghostty es cross-platform, puede quedarse)zsh/zshrc
.github/workflows/ci.yml
sketchybar/**/*.shde la lista de bash files a validar (ya no existe)Lo que se MANTIENE (cross-platform)
Pre-condiciones
bash scripts/oss-audit.shdebe seguir pasando después de cada cambiobash install.sh --checkdebe seguir pasando (sin errores, warnings aceptables)bash -n install.shdebe seguir pasando (syntax check)zsh -n zsh/zshrcdebe seguir pasandoCriterio de aceptación