{ lib, pkgs, osConfig, ... }: let inherit (lib) mkIf; cfg = osConfig.myOptions.home-manager.programs.applications.mpv; in { config = mkIf cfg.enable { programs.mpv = { enable = true; config = { loop = "yes"; }; bindings = { l = "seek 5"; h = "seek -5"; j = "seek -60"; k = "seek 60"; # Set A-B Loop key to g, since l was rebound g = "ab-loop"; # Swap i and I, use lowercase for toggle i = "script-binding stats/display-stats-toggle"; I = "script-binding stats/display-stats"; UP = "add volume 2"; DOWN = "add volume -2"; # Zooming "-" = "add video-zoom -.25"; "+" = "add video-zoom .25"; # Moving/panning video kp8 = "add video-pan-y .05"; kp6 = "add video-pan-x -.05"; kp2 = "add video-pan-y -.05"; kp4 = "add video-pan-x .05"; kp5 = "set video-pan-x 0; set video-pan-y 0; set video-zoom 0"; # Rotation "ctrl+r" = "cycle_values video-rotate '90' '180' '270' '0'"; }; }; }; }