add(jellyfin): jellyfin-mpv-shim
This commit is contained in:
@@ -2,37 +2,64 @@
|
|||||||
services.jellyfin-mpv-shim = {
|
services.jellyfin-mpv-shim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.jellyfin-mpv-shim;
|
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 = {
|
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";
|
audio_output = "hdmi";
|
||||||
auto_play = true;
|
auto_play = true;
|
||||||
check_updates = false;
|
|
||||||
discord_presence = true;
|
|
||||||
enable_gui = true;
|
|
||||||
enable_osc = true;
|
|
||||||
fullscreen = true;
|
fullscreen = true;
|
||||||
menu_mouse = true;
|
|
||||||
player_name = "hakase";
|
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;
|
remote_kbps = 100000;
|
||||||
local_kbps = 1000000;
|
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 = [
|
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
||||||
# --- JELLYFIN MPV SHIM ---
|
# --- JELLYFIN MPV SHIM ---
|
||||||
"float, class:^(jellyfin-mpv-shim)$"
|
"float, class:^(jellyfin-mpv-shim)$"
|
||||||
|
|||||||
Reference in New Issue
Block a user