Skip to content

feat(nix): add Linux Home Manager profile - #59

Merged
barbatdev merged 1 commit into
mainfrom
feat/linux-home-manager
Aug 23, 2026
Merged

feat(nix): add Linux Home Manager profile#59
barbatdev merged 1 commit into
mainfrom
feat/linux-home-manager

Conversation

@barbatdev

Copy link
Copy Markdown
Owner

Closes #58

Tipo

  • Nueva funcionalidad

Resumen

  • Añade una configuración Home Manager pura para x86_64-linux sin alterar el target Darwin existente.
  • Reutiliza únicamente los archivos Fish portables y mantiene los componentes macOS fuera del ownership Linux.
  • Documenta instalación, ownership, validación y rollback para una futura activación controlada.

Ruta de revisión

  1. Revisar flake.nix y nix/home.nix: targets, paquetes mínimos y separación shared/Darwin.
  2. Revisar scripts/nix-preflight.sh y su contrato: selección Linux/Darwin y rechazo de sistemas no soportados.
  3. Revisar fish/conf.d/10-core.fish y W2: Linux no define el alias macOS open.
  4. Revisar README y CI: la activación remota sigue diferida y los componentes gráficos permanecen excluidos.

Cambios

Archivo Cambio
flake.nix Expone homeConfigurations.jbarbat-linux para x86_64-linux.
nix/home.nix Separa ownership Fish compartido/Darwin y declara Fish + Starship en Linux.
scripts/nix-preflight.sh Selecciona targets Linux/Darwin y rechaza plataformas no soportadas.
scripts/test-nix-preflight.sh Cubre targets, ownership y exclusiones Linux.
fish/conf.d/10-core.fish Limita el alias open a Darwin.
fish/tests/w2-core.fish Verifica startup Linux sin alias macOS.
.github/workflows/ci.yml Actualiza el nombre del contrato Home Manager multiplataforma.
README.md Documenta preparación, activación, exclusiones y rollback Linux.

Validación

  • bash scripts/test-nix-preflight.sh
  • Harnesses Fish W2, W3, W4b, W5a, W5b aislado y W6
  • shellcheck --severity=error --shell=bash
  • nix flake check --no-build --no-write-lock-file --offline
  • Evaluación offline de los paquetes de activación Darwin y Linux
  • Sintaxis Bash/Fish, parseo YAML y git diff --check
  • Sin cambios en flake.lock ni artefactos generados

Estado de activación

La configuración todavía no fue activada en un host Linux. La activación se realizará desde un checkout limpio, después del merge, conservando Zsh, el override privado y los enlaces existentes como rollback.

Fuera de alcance

  • Yabai, scripting addition, SIP, Dock, skhd, SketchyBar y Karabiner.
  • Tmux y Ghostty.
  • Screenshots, clipboard, X11 y Wayland.
  • Actualizar o limpiar checkouts remotos con trabajo local.

Checklist

  • Issue aprobado vinculado.
  • Unidad de trabajo menor a 400 líneas.
  • Tests y documentación incluidos con el comportamiento.
  • Sin hostname privado, rutas personales, credenciales ni secretos.
  • Sin trailers Co-Authored-By.

@barbatdev barbatdev added the type:feature New feature label Aug 23, 2026
@barbatdev
barbatdev merged commit 27687ab into main Aug 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(nix): habilitar Home Manager y Fish en Linux

1 participant