commit - 531c69006f10e931684ce0b76234d2b1c60a6d78
commit + ad87416403bc6ed38937c71e2226f0dd40a1c03d
blob - 6215c2ecd33a96d723b26655151440d442af44ce
blob + 2aadc072dacd3e1e79060e15bbe227b0be128e86
--- NOTES.md
+++ NOTES.md
sesión de Claude Code corriendo en `pcale`, la misma máquina que aloja
Forgejo) — cero intentos de conexión de `got`, descartando que el
servidor fuera la causa.
+
+## mpv + loupe (2026-07-17)
+
+A pedido del usuario ("agrega mpv y todas las dependencias para que pueda
+reproducir cualquier tipo de video, y agrega un visor de imágenes"), agregados
+ambos a `environment.systemPackages` en `modules/desktop.nix`.
+
+- **`mpv`: no hizo falta agregar ninguna dependencia de códecs aparte.**
+ Verificado leyendo el `package.nix` real de `mpv-unwrapped` y de
+ `ffmpeg/generic.nix` (no de memoria, mismo método que las rondas #10/#11):
+ `pkgs.mpv` enlaza `pkgs.ffmpeg`, que pese a resolver a la variante
+ `"small"` (`ffmpeg_8`) tiene `withSmallDeps ? ... || withFullDeps` y
+ `withHeadlessDeps ? ... || withSmallDeps` — es decir, `"small"` implica
+ `withHeadlessDeps = true`, que a su vez habilita por defecto dav1d (AV1),
+ libaom, libvpx (VP8/VP9), x264/x265, libbluray, vulkan, vaapi y,
+ confirmado con `nix eval` real sobre `buildInputs`, **`nv-codec-headers`**
+ (habilita nvdec/nvenc — decode/encode por hardware en la Nvidia real de
+ esta laptop vía `--hwdec=nvdec`, sin depender de ningún shim vaapi-nvidia
+ que no está instalado). El resto de contenedores/códecs (mpeg1/2/4, vc1,
+ prores, theora, etc.) los trae el propio ffmpeg sin libs externas. No se
+ usó `ffmpeg-full`: agrega sobre todo encoders/filtros raros irrelevantes
+ para reproducir, no decoders adicionales, y alarga mucho el build.
+ De paso, `nix build` mostró que `pkgs.mpv` (el wrapper, no
+ `mpv-unwrapped`) arrastra `yt-dlp` solo — reproducir una URL también
+ funciona sin instalar nada aparte.
+- **`loupe`** — visor de imágenes GTK4/Rust (proyecto GNOME, reemplazo de
+ `eog`). Elegido en vez de alternativas nativas de Wayland (`swayimg`/
+ `imv`) porque hereda el theme Gruvbox/Noctalia solo, vía el mismo
+ template built-in `"gtk4"` que ya usa Nautilus (confirmado que ambos
+ comparten stack GTK4/libadwaita) — las alternativas de Wayland puro no
+ tienen esa integración automática y requerirían theming a mano. El README
+ de Noctalia no recomienda ningún visor de imágenes en particular (fuera
+ de su alcance, mismo caso ya documentado para el gestor de archivos).
+- Ambos paquetes confirmados reales contra el nixpkgs del flake (`nix build
+ --no-link` de cada uno, resueltos desde el binary cache sin compilar) y
+ validado con `nix eval` que `mpv-with-scripts`/`loupe` aparecen en
+ `environment.systemPackages` del sistema completo, `config.assertions`
+ sigue en `[]`, y `config.system.build.toplevel` compila sin error.
+- **Pendiente manual:** correr `sudo nixos-rebuild switch --flake
+ /nixdots#ale` para aplicar (no lo corrí yo, ver política de acciones de
+ sistema).
blob - 1d1aa26c535bfcb86ff8458bc50774e6cfbf7b6c
blob + 4687e367ef9d874c6b5665ac3d4bd6262c6110c1
--- modules/desktop.nix
+++ modules/desktop.nix
# reusa ssh-agent). "got commit" NO soporta firma GPG ni SSH (solo
# "got tag -S" firma, y solo con SSH) -- para mantener los commits
# firmados con la YubiKey seguir usando "git commit -S".
+
+ 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
+ # trae todo lo necesario para "cualquier tipo de video" sin agregar
+ # nada más: enlaza `pkgs.ffmpeg` (variante "small", que pese al
+ # nombre incluye withHeadlessDeps=true -- confirmado en
+ # ffmpeg/generic.nix) con dav1d (AV1), libaom, libvpx (VP8/VP9),
+ # x264/x265, libbluray, y sobre todo `nv-codec-headers` --
+ # confirmado en buildInputs -- que habilita nvdec/nvenc (decode por
+ # hardware en la Nvidia real de esta laptop vía `--hwdec=nvdec`, sin
+ # depender del shim vaapi-nvidia que no está instalado). El wrapper
+ # `pkgs.mpv` (no mpv-unwrapped) además arrastra `yt-dlp` solo, así
+ # que reproducir una URL también funciona sin instalar nada aparte.
+ # No hizo falta pasar a `ffmpeg-full`: agrega casi todo encoders/
+ # filtros raros irrelevantes para reproducir, no decoders extra.
+
+ loupe # visor de imágenes -- GTK4/libadwaita (mismo stack que Nautilus,
+ # ya instalado), así que hereda el theme Gruvbox/Noctalia solo vía
+ # el template built-in "gtk4" (igual que Nautilus, ver comentario
+ # de arriba) sin declarar nada extra. El propio README de Noctalia
+ # no recomienda ningún visor de imágenes en particular (fuera de
+ # su alcance, mismo caso que el gestor de archivos) -- elegido por
+ # consistencia con el resto del setup GTK4 en vez de alternativas
+ # nativas de Wayland (swayimg/imv), que no traen esa integración
+ # automática de tema y requerirían configurarla a mano.
];
# Necesario para que QT_QPA_PLATFORMTHEME=kde (de abajo) resuelva al plugin