commit ad87416403bc6ed38937c71e2226f0dd40a1c03d from: ale date: Fri Jul 17 21:25:19 2026 UTC Agrega mpv y loupe (reproductor de video y visor de imágenes) mpv ya trae todo lo necesario para cualquier tipo de video sin dependencias extra (dav1d/vpx/x264/x265/nvdec vía ffmpeg "small", yt-dlp incluido en el wrapper). loupe elegido por heredar el theme Gruvbox/Noctalia vía el mismo template GTK4 que ya usa Nautilus. commit - 531c69006f10e931684ce0b76234d2b1c60a6d78 commit + ad87416403bc6ed38937c71e2226f0dd40a1c03d blob - 6215c2ecd33a96d723b26655151440d442af44ce blob + 2aadc072dacd3e1e79060e15bbe227b0be128e86 --- NOTES.md +++ NOTES.md @@ -1398,3 +1398,44 @@ camino y una causa final que terminó siendo otra: 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 @@ -154,6 +154,31 @@ # 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