commit fe62a713b00ff6aa197d53f336d7c72a58973c5d from: ale date: Thu Jul 23 02:27:07 2026 UTC Corrige documentación: got.conf resuelve el autor, no ~/.gitconfig commit - 1b710383efacffcdb1b2c5ef7781ca1690bde4ef commit + fe62a713b00ff6aa197d53f336d7c72a58973c5d blob - 2808f8c3a8cb881793d0d1edab61e4ed400636a6 blob + 0aa9c7f8a8218e69c1a54eeca95d272ae2dc8e20 --- NOTES.md +++ NOTES.md @@ -1517,11 +1517,34 @@ arriesgar el checkout real: escenario de coexistencia con `git` en el mismo repo (ronda 2026-07-16, ya obsoleta) -- ahora documenta que `/nixdots` es un work tree de `got` sin `.git`, y que `programs.git` se mantiene a nivel de sistema solo por - otros repos y porque `got` resuelve el autor de los commits leyendo - `~/.gitconfig` (`programs.git.settings.user.*`) -- confirmado en vivo: - `got log` mostró `ale ` sin declarar autor en ningún - `got.conf`. + otros repos ajenos a `/nixdots`. +### BUG real (de esta misma migración), corregido: `got commit` no encontraba autor + +El primer `got commit` real sobre `/nixdots` falló con `GOT_AUTHOR +environment variable is not set`. Según `got.1`/`got.conf.5`, el orden de +resolución del autor es: variable de entorno `GOT_AUTHOR` → `got.conf` del +repo → `user.name`/`user.email` en el `.git/config` del propio repo → **solo +como último recurso**, `~/.gitconfig` global de Git. Este sistema gestiona +la identidad de git vía home-manager en formato **XDG** +(`~/.config/git/config`, confirmado con `cat`) -- **no** existe +`~/.gitconfig` en `$HOME`, así que `got` no tenía de dónde sacar el autor +por ningún lado. (La suposición inicial de esta misma sección, de que `got` +sí leía la identidad desde `~/.gitconfig`/`programs.git`, era incorrecta -- +corregida acá tras reproducir el fallo en vivo.) + +**Fix:** declarado el autor directo en `got.conf` del repo bare +(`~/nixdots.git/got.conf`): + +``` +author "ale " +``` + +Es la vía nativa de `got` (tiene prioridad sobre cualquier config de git) y +no depende de dónde ni cómo esté declarada la identidad de git en el +sistema. Confirmado con un commit real: `got log` mostró +`ale ` como autor sin volver a pedir `GOT_AUTHOR`. + ### Qué NO se tocó - El paquete `git` sigue en `environment.systemPackages` blob - 90821214fdc6efcdfca67570b5c6ce8e83dfe219 blob + 9f22bde8a639d0119970f295a704599bb76ba36c --- modules/desktop.nix +++ modules/desktop.nix @@ -154,9 +154,13 @@ # Reusa ssh-agent para clone/fetch/send por ssh://, igual que git. # "got commit" NO soporta firma GPG ni SSH (solo "got tag -S" firma, # y solo con SSH) -- los commits de este repo quedan sin firmar - # desde la migración; programs.git sigue instalado a nivel de - # sistema para otros repos y porque got lee autor/email de - # ~/.gitconfig (programs.git.settings.user.*, ver home.nix). + # desde la migración. El autor de los commits está declarado en + # got.conf del repo bare (~/nixdots.git/got.conf), NO se resuelve + # de programs.git/~/.gitconfig -- got solo lee el ~/.gitconfig + # clásico como último recurso, y este sistema usa el config de git + # en formato XDG (~/.config/git/config, ver home.nix), que got no + # mira. programs.git sigue instalado a nivel de sistema solo por + # otros repos ajenos a /nixdots. mpv # reproductor de video/audio. Verificado con `nix eval`/`nix build` # contra el nixpkgs real (no de memoria) que el `pkgs.mpv` de acá ya