Files
nixos/apps/mpv/default.nix
T
2026-07-04 07:02:49 -05:00

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%"
];
}