1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-01-09 20:43:57 +00:00
ultima/modules/home/programs/gui/mpv/default.nix

96 lines
4.6 KiB
Nix
Raw Normal View History

2024-11-21 09:24:15 +00:00
{ pkgs, lib, config, True, ... }:
with lib;
let cfg = config.module.programs.gui.mpv;
in {
options = { module.programs.gui.mpv = { enable = mkEnableOption ""; }; };
config = mkIf cfg.enable {
programs.mpv = True // {
scripts = with pkgs.mpvScripts; [ thumbnail sponsorblock-minimal ];
scriptOpts = {
sponsorblock-minimal = {
sponsorblock_minimal-server =
"https://sponsor.ajay.app/api/skipSegments";
sponsorblock_minimal-categories = [ "sponsor" ];
};
mpv_thumbnail_script = {
autogenerate = "yes";
autogenerate_max_duration = "3600";
prefer_mpv = "yes";
mpv_no_sub = "no";
thumbnail_width = 200;
thumbnail_height = 200;
thumbnail_count = 150;
thumbnail_network = "no";
background_color = "282828";
};
};
config = {
fs = "yes";
osc = "no";
glsl-shaders =
"${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl";
};
bindings = {
WHEEL_UP = "add volume 2";
WHEEL_DOWN = "add volume -2";
"Shift+WHEEL_UP" = "add volume 5";
"Shift+WHEEL_DOWN" = "add volume -5";
RIGHT = "seek 5";
l = "seek 5";
"д" = "seek 5";
LEFT = "seek -5";
h = "seek -5";
"р" = "seek -5";
UP = "add volume 2";
k = "add volume 2";
"л" = "add volume 2";
DOWN = "add volume -2";
j = "add volume -2";
"о" = "add volume -2";
"Shift+RIGHT" = "seek 10";
"Shift+LEFT" = "seek -10";
"Shift+UP" = "add volume 5";
"Shift+DOWN" = "add volume -5";
q = "quit";
"й" = "quit";
Q = "quit-watch-later";
SPACE = "cycle pause";
p = "cycle pause";
"з" = "cycle pause";
m = "cycle mute";
"ь" = "cycle mute";
o = "show-progress";
"щ" = "show-progress";
f = "cycle fullscreen";
"а" = "cycle fullscreen";
ESC = "set fullscreen no";
};
extraInput = ''
CTRL+1 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
CTRL+2 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
CTRL+3 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
CTRL+4 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
CTRL+5 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
CTRL+6 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
'';
};
};
}