Repository navigation
feat(nix): habilitar Home Manager y Fish en Linux #58
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requeststatus:approvedApproved for implementationApproved for implementation
Description
Problema y objetivo
El repositorio ya contiene la configuración portable de Fish y Home Manager, pero la flake y el preflight solo admiten macOS. Un host Linux nuevo no puede evaluar ni activar el mismo entorno sin mantener parches locales.
El objetivo es añadir un target x86_64-linux que reutilice los componentes portables, preserve los overrides privados del host y excluya de forma explícita las integraciones exclusivas de macOS.
Relacionado con #4, que cubre los defaults del layout de directorios pero no la activación de Nix, Home Manager y Fish.
Comportamiento esperado
- La flake expone configuraciones Home Manager separadas para macOS y Linux sin duplicar la lógica portable.
- Linux instala o declara las herramientas necesarias para iniciar Fish, Starship y el runtime portable.
- Home Manager conserva ownership explícito por archivo y no reemplaza el directorio completo de Fish ni el override local privado.
- La activación se realiza desde un checkout limpio y no modifica checkouts con trabajo local.
- Zsh permanece disponible como rollback hasta validar Fish como shell principal.
- Los helpers sin backend gráfico reportan estado no soportado de forma clara, sin intentar comandos de macOS.
Criterios de aceptación
- El target
x86_64-linuxevalúa con la flake bloqueada y el preflight reconoce Linux. - La configuración Linux no importa Yabai, skhd, SketchyBar, Karabiner ni flujos de SIP, Dock o permisos macOS.
- Fish y Starship funcionan en una shell nueva después de activar Home Manager.
- Los helpers portables de navegación, Git/worktrees, Herdr/SSH y agentes se cargan sin duplicados.
- El override privado del host permanece fuera del store, con permisos restrictivos y sin ser leído por tests.
- Screenshots y clipboard quedan excluidos en esta primera entrega y fallan de forma explícita en un host headless.
- La activación conserva un rollback mediante la generación anterior y los enlaces existentes.
- La documentación explica instalación, ownership, validación y rollback para Linux.
Alcance excluido
- Yabai, scripting addition, SIP, Dock, skhd, SketchyBar y Karabiner.
- Tmux y Ghostty en esta primera entrega.
- Screenshots, clipboard y cualquier dependencia de X11 o Wayland.
- Actualizar o limpiar checkouts remotos con cambios locales.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requeststatus:approvedApproved for implementationApproved for implementation
Activity
barbatdev commentedon Aug 23, 2026
Reabro este issue porque la activación real expuso una brecha de aceptación: Fish funciona por ruta absoluta, pero una sesión SSH nueva no incorpora
~/.nix-profile/binalPATH. Como consecuencia, el login shell no encuentra Fish ni Starship por nombre.Los harnesses existentes inyectan un
PATHsintético, por eso no cubrían esta forma de arranque. El rollback a Zsh quedó aplicado. El siguiente cambio será acotado: declarar las rutas Nix estables en el core de Fish y agregar una regresión que reproduzca un login Linux con elPATHbase del sistema antes de volver a activar Home Manager.barbatdev commentedon Aug 24, 2026
Reabro el issue por una segunda brecha del mismo contrato de login Linux: el PATH administrado ya incorpora los perfiles Nix, pero no el directorio estándar
~/.local/bin.Esto hace que herramientas ya instaladas allí funcionen en sesiones heredadas y dejen de resolverse en una sesión Fish nueva. No corresponde reinstalarlas. El fix será acotado: incorporar sólo ese directorio cuando exista y ampliar W2 con un ejecutable disponible exclusivamente en la ruta local del usuario.
barbatdev commentedon Aug 24, 2026
Reabro este issue y lo mantengo abierto hasta completar la verificación remota. La auditoría confirmó que OpenCode, Pi, pnpm y sus runtimes ya están instalados, pero una sesión Fish nueva no incorpora los directorios de OpenCode ni los shims de mise.
No corresponde reinstalar herramientas. El siguiente fix ampliará el PATH Linux existente con esos directorios sólo cuando estén presentes, conservará la precedencia de overrides del usuario y agregará cobertura W2 para resolución y orden. El issue se cerrará recién después de verificar los comandos desde una sesión nueva.
barbatdev commentedon Aug 24, 2026
Validación remota completada después de desplegar PR #62 en una nueva generación Home Manager.
Una sesión Fish completamente nueva resuelve
herdr,opencode,claude,pi,cortex,mise,pnpm,node,npm,corepackybun. El PATH conserva el orden declarado entre binarios locales, OpenCode, shims de mise y perfiles Nix. Los helpersoc,ocb,cc,ccx,hhereyhremotecargan correctamente; W2, W5b aislado y W6 pasan.No se reinstaló ninguna herramienta ni se modificaron credenciales. Con esta evidencia, la aceptación Linux queda completa y el issue puede cerrarse.