add(jellyfin): jellyfin-mpv-shim

This commit is contained in:
kenji
2026-01-07 18:40:11 -06:00
parent 4a911de198
commit aa28cf999f
+48 -21
View File
@@ -2,37 +2,64 @@
services.jellyfin-mpv-shim = {
enable = true;
package = pkgs.jellyfin-mpv-shim;
mpvConfig = {
osc = false;
osd-bar = false;
load-scripts = true;
input-vo-keyboard = true;
input-default-bindings = true;
# Automatic subtitle selection logic:
# Prefer English subtitles
slang = "eng,en";
# Prefer Japanese/Non-English audio first (if that's what you usually watch)
# or just ensure English subs are picked when audio isn't English.
sub-auto = "fuzzy";
sub-visibility = "yes";
};
mpvBindings = {
"j" = "cycle sub";
"S-j" = "cycle sub rev";
"v" = "cycle sub-visibility";
};
settings = {
use_mpv_config = false;
enable_osc = false;
menu_mouse = true;
# Shim specific auto-sub logic
# "subs-fallback" is a known good setting for the shim to handle this
subtitle_color = "#FFFFFFFF";
subtitle_size = 100;
audio_output = "hdmi";
auto_play = true;
check_updates = false;
discord_presence = true;
enable_gui = true;
enable_osc = true;
fullscreen = true;
menu_mouse = true;
player_name = "hakase";
raise_mpv = true;
shader_pack_enable = true;
shader_pack_remember = true;
shader_pack_subtype = "lq";
skip_credits_enable = true;
skip_intro_enable = true;
thumbnail_enable = true;
thumbnail_osc_builtin = true;
use_mpv_config = true;
menu_style = "osc";
# Good UI/Quality defaults
remote_kbps = 100000;
local_kbps = 1000000;
lang_filter = "und,eng,jpn,mis,mul,zxx";
subtitle_size = 100;
subtitle_color = "#FFFFFFFF";
seek_left = -5;
seek_right = 5;
};
};
# Modern OSC + Quality scripts
home.file.".config/jellyfin-mpv-shim/scripts/uosc" = {
source = "${pkgs.mpvScripts.uosc}/share/mpv/scripts/uosc";
};
home.file.".config/jellyfin-mpv-shim/scripts/thumbfast.lua" = {
source = "${pkgs.mpvScripts.thumbfast}/share/mpv/scripts/thumbfast.lua";
};
home.file.".config/jellyfin-mpv-shim/scripts/autocrop.lua" = {
source = "${pkgs.mpvScripts.autocrop}/share/mpv/scripts/autocrop.lua";
};
home.file.".config/jellyfin-mpv-shim/fonts" = {
source = "${pkgs.mpvScripts.uosc}/share/fonts";
recursive = true;
};
wayland.windowManager.hyprland.settings.windowrulev2 = [
# --- JELLYFIN MPV SHIM ---
"float, class:^(jellyfin-mpv-shim)$"