54 lines
1.5 KiB
Nix
54 lines
1.5 KiB
Nix
{pkgs, ...}: {
|
|
programs.mpv = {
|
|
enable = true;
|
|
scripts = with pkgs.mpvScripts; [
|
|
uosc
|
|
thumbfast
|
|
autocrop
|
|
];
|
|
scriptOpts = {
|
|
autocrop = {
|
|
auto = "yes"; # Automatically run on video load
|
|
notice = "yes"; # Optional: Show an OSD message when it crops
|
|
delay = "5"; # Optional: Wait 1 second before detecting (helps skip studio logos)
|
|
};
|
|
};
|
|
config = {
|
|
# uosc provides its own UI
|
|
osc = "no";
|
|
osd-bar = "no";
|
|
border = "no";
|
|
hwdec = "auto-copy";
|
|
|
|
# Subtitle preferences - prefer full subtitles over forced
|
|
# slang = "eng,en,enm"; # English subtitle preference order
|
|
# subs-fallback = "default"; # Use default if preferred not found
|
|
# sub-forced-events-only = "no"; # Don't limit to forced subtitle events
|
|
};
|
|
|
|
bindings = {
|
|
# Bind it to 'C' (Shift+c) to toggle cropping manually
|
|
"C" = "script-message-to autocrop toggle_crop";
|
|
};
|
|
};
|
|
|
|
xdg.mimeApps = {
|
|
enable = true;
|
|
defaultApplications = {
|
|
"video/mp4" = "mpv.desktop";
|
|
"video/mkv" = "mpv.desktop";
|
|
"video/webm" = "mpv.desktop";
|
|
"video/avi" = "mpv.desktop";
|
|
"video/x-matroska" = "mpv.desktop";
|
|
"video/quicktime" = "mpv.desktop";
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland.settings.windowrule = [
|
|
# --- VIDEO PLAYER (mpv) ---
|
|
"match:class ^(mpv)$, float on"
|
|
"match:class ^(mpv)$, center on"
|
|
"match:class ^(mpv)$, size 60% 70%"
|
|
];
|
|
}
|