nixos-configs/modules/desktop/environment/home/mpv.nix

72 lines
1.8 KiB
Nix
Raw Permalink Normal View History

self: {pkgs, ...}: {
config = let
inherit (self.scopedPackages.${pkgs.system}) mpvScripts;
in {
# For kdialog-open-files
home.packages = [
pkgs.kdialog
];
programs.mpv = {
enable = true;
# https://github.com/mpv-player/mpv/wiki/User-Scripts
scripts = builtins.attrValues {
inherit
(mpvScripts)
modernx
persist-properties
undo-redo
;
# touch-gestures & deps
inherit
(mpvScripts)
pointer-event
touch-gestures
;
# Ctrl + o
inherit (mpvScripts) kdialog-open-files;
};
scriptOpts = {
persist_properties = {
properties = "volume,sub-scale";
};
# Touch gestures default
pointer-event = {
margin_left = 0;
margin_right = 80;
margin_top = 50;
margin_bottom = 130;
ignore_left_single_long_while_window_dragging = true;
left_single = "cycle pause";
left_double = "script-message-to touch_gestures double";
left_long = "script-binding uosc/menu-blurred";
left_drag_start = "script-message-to touch_gestures drag_start";
left_drag_end = "script-message-to touch_gestures drag_end";
left_drag = "script-message-to touch_gestures drag";
};
touch-gestures = {
# valid options are:
# 'playlist' for changing the playlist item by swiping
# 'seek' for seeking by dragging
horizontal_drag = "seek";
# scale seeking based on the duration of the video
proportional_seek = true;
# scale factor for seeking
seek_scale = 1;
};
};
};
};
# For accurate stack trace
_file = ./mpv.nix;
}