den
 1{
 2  flake.modules.homeManager.desktop = {pkgs, ...}: {
 3    programs.mpv = {
 4      enable = true;
 5      defaultProfiles = ["gpu-hq"];
 6      scripts = with pkgs.mpvScripts; [
 7        mpris
 8        uosc
 9        thumbfast
10        autoload
11        reload
12        mpv-playlistmanager
13      ];
14      config = {
15        vo = "gpu-next";
16        hwdec = "auto-copy";
17        scale = "ewa_lanczossharp";
18        # --- 动态范围与色彩管理 --- #
19        target-colorspace-hint = "auto";
20        tone-mapping = "hable";
21        dither = "fruit";
22        dither-depth = "auto";
23        # --- 音频质量配置 --- #
24        ao = "pipewire";
25        audio-resample-filter-size = 64;
26        audio-resample-phase-shift = 10;
27        # --- 字幕配置 --- #
28        sub-auto = "fuzzy";
29        sub-bold = "yes";
30        sub-outline-size = 2.25;
31        sub-outline-color = "#111111";
32        sub-color = "#FEFEFE";
33        sub-font-size = "36";
34        sub-use-margins = "yes";
35        sub-ass-override = "force";
36        # --- 用户体验 --- #
37        save-position-on-quit = true;
38        keep-open = "yes";
39        osd-bar = "no"; # use uosc
40        # 音量控制
41        volume = 80;
42        volume-max = 120;
43        # OSD 显示
44        osd-duration = 2500;
45        osd-font-size = 32;
46        # 截图设置
47        screenshot-format = "png";
48        screenshot-dir = "~/Pictures/mpv";
49        screenshot-template = "%F-%P";
50      };
51
52      scriptOpts.uosc = {
53        languages = "slang,zh-hans";
54      };
55    };
56
57    xdg.mimeApps.defaultApplications = {
58      "audio/*" = ["mpv.desktop"];
59      "video/*" = ["mpv.desktop"];
60    };
61  };
62}