Commit Diff


commit - c9baf38584f74eaa14f5584b78052e9007c4ac66
commit + 81a08ce5775e9dd3c92735770e114e6526705ad3
blob - efb5e801247dbb1ee34a3223cdb93ff94e295d7b
blob + 49412462847f0cc16f91175a2f8a15916d9de1e9
--- NOTES.md
+++ NOTES.md
@@ -1123,13 +1123,47 @@ github.com directo** (a pesar de que la primera pregun
 esquema `ssh://` de `got` implementa el mismo protocolo de empaquetado de
 Git (`git-upload-pack`/`git-receive-pack`) que usa cualquier cliente Git
 por SSH, no algo exclusivo de GitHub -- cualquier servidor Git estándar
-(Gitea/Forgejo/gitolite/etc.) debería aceptarlo igual. **No probado en
-vivo contra este servidor todavía** (no se corrió `got send` de verdad,
-sería la primera confirmación real); pasar el remoto como se dio arriba,
-sin pasar por un nombre `origin` de `got.conf` (que no existe en este
-repo, solo el `.git/config` de `git`, y no está confirmado que `got` lo
-lea).
+(Gitea/Forgejo/gitolite/etc.) debería aceptarlo igual.
 
+**Probado en vivo, y falló:** tanto `got send` como `got fetch` (de
+solo lectura, sin efecto en el servidor) devuelven el mismo error contra
+el remoto real -- `remote repository not found` -- con la misma URL que
+`git push`/`git fetch` usan sin problema contra ese mismo servidor.
+Consistente entre los dos subcomandos, no es al azar. Hipótesis más
+probable (no confirmada, requeriría acceso al servidor): negociación de
+protocolo Git v2 por SSH (`GIT_PROTOCOL=version=2` vía `SetEnv`/
+`AcceptEnv` de ssh) que `got` sí manda y que el servidor (¿Gitea/Forgejo
+más viejo, o gitolite/git-shell plano?) no maneja bien, cayendo a un
+"repo no encontrado" genérico en vez de un error de protocolo claro. No
+investigado más a fondo porque requiere debug del lado del servidor, fuera
+de esta máquina.
+
+**Solución aplicada:** el commit hecho con `got commit` ya vive en el
+mismo `.git` real (`repository-path` de `got checkout` era
+`/nixdots/.git` directo, no una copia) -- `got` incluso movió
+`refs/heads/main` local a ese commit. Solo faltaba subirlo, y para eso
+sirve `git push` normal sin problema (es un commit de Git real y válido,
+`got` no usa un formato distinto). Antes de pushear hizo falta
+`git add` de los 3 archivos tocados para que el índice de `git` (que
+`got commit` no toca -- tiene su propio índice en `.got/file-index`)
+dejara de mostrar diffs falsos contra el HEAD ya movido.
+
+## Atajo de bloqueo de pantalla, `mainMod+L` (2026-07-16)
+
+Agregado en `home/ale/hyprland.lua` junto a los otros atajos IPC de
+Noctalia (`mainMod+Space`/`+S`/`+comma`, ronda "Auditoría exhaustiva #12"):
+
+```lua
+hl.bind(mainMod .. "+L", hl.dsp.exec_cmd(noctaliaMsg .. "session lock"))
+```
+
+Mismo patrón que los atajos ya existentes (`noctalia msg <comando>` vía
+`hl.dsp.exec_cmd`), `session lock` es el comando IPC real de Noctalia para
+bloquear la sesión (pantalla de bloqueo propia de Noctalia, ver
+`src/shell/lockscreen/` mencionado en la ronda de auditoría #12 de este
+mismo archivo). Cambio autocontenido, no requiere tocar `modules/
+desktop.nix` ni ningún paquete nuevo.
+
 ## Referencias usadas
 
 - https://docs.noctalia.dev/v5/getting-started/nixos/
blob - 61351144ce1ca39035fa5f9d655cd5a35f2247db
blob + 469635e09cc00e5acdac25875d2e7afd9e9e4784
--- README.md
+++ README.md
@@ -113,10 +113,11 @@ sudo nixos-rebuild switch --flake .#ale
   El exit node se fija solo después de esto vía el servicio
   `tailscale-exit-node` — a diferencia de FreeBSD, aquí no depende de ningún
   driver wifi con fallos intermitentes.
-- **✅ Noctalia** — los atajos `mainMod+Space` / `+S` / `+comma` ya están
-  declarados en `hyprland.lua` con el comando IPC real (`noctalia msg
-  panel-toggle ...` / `settings-toggle`), confirmado contra la doc oficial.
-  Ya no es "revisa si funciona por su cuenta" — está resuelto explícito.
+- **✅ Noctalia** — los atajos `mainMod+Space` / `+S` / `+comma` / `+L` ya
+  están declarados en `hyprland.lua` con el comando IPC real (`noctalia msg
+  panel-toggle ...` / `settings-toggle` / `session lock`), confirmado
+  contra la doc oficial. Ya no es "revisa si funciona por su cuenta" —
+  está resuelto explícito.
 - **✅ LibrePods (AirPods)** — ya no es manual. No hay paquete Nix oficial ni
   release de Linux en GitHub (el binario real vive en la rama `linux/rust`
   de una PR sin mergear, kavishdevar/librepods#241, sin releases publicados),
blob - 49916c29fa0696b4a35f07323ba6fb6e32331c17
blob + 7f1076281e99301531febb718725e9459c87bae9
--- home/ale/hyprland.lua
+++ home/ale/hyprland.lua
@@ -110,6 +110,7 @@ local noctaliaMsg = "noctalia msg "
 hl.bind(mainMod .. "+Space", hl.dsp.exec_cmd(noctaliaMsg .. "panel-toggle launcher"))
 hl.bind(mainMod .. "+S", hl.dsp.exec_cmd(noctaliaMsg .. "panel-toggle control-center"))
 hl.bind(mainMod .. "+comma", hl.dsp.exec_cmd(noctaliaMsg .. "settings-toggle"))
+hl.bind(mainMod .. "+L", hl.dsp.exec_cmd(noctaliaMsg .. "session lock"))
 
 -- --- Navegación de foco ---
 hl.bind(mainMod .. "+Left", hl.dsp.focus({ direction = "left" }))