Dotfiles-NixOS/home/doggo/mpv-config.nix
2026-06-21 22:55:22 +02:00

49 lines
3.3 KiB
Nix

{ config, pkgs, nixtamal, ... }:
let
shaders = "${pkgs.anime4k}";
in
{
programs.mpv = {
enable = true;
config = {
glsl-shaders = "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Restore_CNN_VL.glsl:${shaders}/Anime4K_Upscale_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl";
vo = "gpu-next";
gpu-context = "waylandvk";
gpu-api = "vulkan";
hwdec = "vulkan";
deband = "yes";
# Stuff needed for ModernZ
watch-later-options-remove = "sub-pos";
};
package = (
pkgs.mpv.override {
mpv-unwrapped = (pkgs.mpv-unwrapped.override {
ffmpeg = pkgs.ffmpeg-full;
}).overrideAttrs (oldAttrs: {
src = nixtamal.mpv;
});
scripts = with pkgs.mpvScripts; [
modernz
];
}
);
};
xdg.configFile."mpv/input.conf".text = ''
# Optimized shaders for higher-end GPU:
CTRL+& no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Restore_CNN_VL.glsl:${shaders}/Anime4K_Upscale_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
CTRL+é no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Restore_CNN_Soft_VL.glsl:${shaders}/Anime4K_Upscale_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
CTRL+" no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
CTRL+' no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Restore_CNN_VL.glsl:${shaders}/Anime4K_Upscale_CNN_x2_VL.glsl:${shaders}/Anime4K_Restore_CNN_M.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
CTRL+( no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Restore_CNN_Soft_VL.glsl:${shaders}/Anime4K_Upscale_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Restore_CNN_Soft_M.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
CTRL+- no-osd change-list glsl-shaders set "${shaders}/Anime4K_Clamp_Highlights.glsl:${shaders}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${shaders}/Anime4K_AutoDownscalePre_x2.glsl:${shaders}/Anime4K_AutoDownscalePre_x4.glsl:${shaders}/Anime4K_Restore_CNN_M.glsl:${shaders}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
CTRL+à no-osd change-list glsl-shaders clr ""; vf clr ""; show-text "GLSL shaders / vapoursynth cleared"
# CTRL+k no-osd change-list vf set "vapoursynth=${config.xdg.dataHome}/mpv_x2.py"; show-text "Vapoursynth: x2 FPS (720p downscale)"
'';
}