From 449f000a7e8f12f4791315bd35561f16f4cb46f4 Mon Sep 17 00:00:00 2001 From: WheelsForReals Date: Wed, 12 Nov 2025 19:15:46 -0600 Subject: [PATCH 1/2] mpvScripts.buildLua: rename extraScripts arg to be more accurate --- pkgs/applications/video/mpv/scripts/buildLua.nix | 10 +++++----- pkgs/applications/video/mpv/scripts/cutter.nix | 2 +- pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix | 2 +- pkgs/applications/video/mpv/scripts/quality-menu.nix | 2 +- pkgs/applications/video/mpv/scripts/sponsorblock.nix | 2 +- pkgs/applications/video/mpv/scripts/thumbnail.nix | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix index 7e4b5b3882ce..d078790ee3cc 100644 --- a/pkgs/applications/video/mpv/scripts/buildLua.nix +++ b/pkgs/applications/video/mpv/scripts/buildLua.nix @@ -23,7 +23,7 @@ lib.makeOverridable ( extendedBy (if lib.isFunction args then args else (_: args)) ( { pname, - extraScripts ? [ ], + extraScriptsToCopy ? [ ], runtime-dependencies ? [ ], ... }@args: @@ -59,8 +59,8 @@ lib.makeOverridable ( echo "Script directory '${scriptPath}' does not contain 'main.lua'" >&2 exit 1 } - [ ${with builtins; toString (length extraScripts)} -eq 0 ] || { - echo "mpvScripts.buildLua does not support 'extraScripts'" \ + [ ${with builtins; toString (length extraScriptsToCopy)} -eq 0 ] || { + echo "mpvScripts.buildLua does not support 'extraScriptsToCopy'" \ "when 'scriptPath' is a directory" >&2 exit 1 } @@ -69,8 +69,8 @@ lib.makeOverridable ( else install -m644 -Dt "${scriptsDir}" ${escaped scriptPath} ${lib.optionalString ( - extraScripts != [ ] - ) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''} + extraScriptsToCopy != [ ] + ) ''cp -at "${scriptsDir}/" ${escapedList extraScriptsToCopy}''} fi runHook postInstall diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/applications/video/mpv/scripts/cutter.nix index b051c08a8547..ef18977c88a7 100644 --- a/pkgs/applications/video/mpv/scripts/cutter.nix +++ b/pkgs/applications/video/mpv/scripts/cutter.nix @@ -32,7 +32,7 @@ buildLua { ''; passthru.scriptName = "cutter.lua"; - extraScripts = [ "c_concat.sh" ]; + extraScriptsToCopy = [ "c_concat.sh" ]; postInstall = '' wrapProgram $out/share/mpv/scripts/c_concat.sh \ diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix b/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix index 6f0d6bddb4a4..eff4397616f9 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix @@ -8,7 +8,7 @@ buildLua (finalAttrs: { version = "0-unstable-2024-08-19"; scriptPath = "osc_tethys.lua"; - extraScripts = [ "mpv_thumbnail_script_server.lua" ]; + extraScriptsToCopy = [ "mpv_thumbnail_script_server.lua" ]; src = fetchFromGitHub { owner = "Zren"; diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/applications/video/mpv/scripts/quality-menu.nix index 8c6f00240c19..e910cf1a9984 100644 --- a/pkgs/applications/video/mpv/scripts/quality-menu.nix +++ b/pkgs/applications/video/mpv/scripts/quality-menu.nix @@ -18,7 +18,7 @@ buildLua rec { }; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; - extraScripts = lib.optional oscSupport "quality-menu-osc.lua"; + extraScriptsToCopy = lib.optional oscSupport "quality-menu-osc.lua"; meta = with lib; { description = "Userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly"; diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix index 0a9dadfaa7c6..5a4ebb998d45 100644 --- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix +++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix @@ -39,7 +39,7 @@ buildLua { --replace-fail 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\"" ''; - extraScripts = [ "sponsorblock_shared" ]; + extraScriptsToCopy = [ "sponsorblock_shared" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix index a3ed87ee74a2..414fb67cb073 100644 --- a/pkgs/applications/video/mpv/scripts/thumbnail.nix +++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix @@ -23,7 +23,7 @@ buildLua rec { dontBuild = false; scriptPath = "mpv_thumbnail_script_client_osc.lua"; - extraScripts = [ "mpv_thumbnail_script_server.lua" ]; + extraScriptsToCopy = [ "mpv_thumbnail_script_server.lua" ]; passthru.scriptName = "mpv_thumbnail_script_{client_osc,server}.lua"; meta = { From e4bb290195c57c5b43d17df3c66ddd611825ec95 Mon Sep 17 00:00:00 2001 From: WheelsForReals Date: Wed, 12 Nov 2025 19:22:09 -0600 Subject: [PATCH 2/2] mpv: update wrapper to support multiple `--script` args --- .../video/mpv/scripts/mpv-osc-tethys.nix | 1 + .../video/mpv/scripts/quality-menu.nix | 1 + .../video/mpv/scripts/thumbnail.nix | 2 +- pkgs/applications/video/mpv/wrapper.nix | 17 +++++++++++------ 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix b/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix index eff4397616f9..fe8908ba09d3 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix @@ -9,6 +9,7 @@ buildLua (finalAttrs: { scriptPath = "osc_tethys.lua"; extraScriptsToCopy = [ "mpv_thumbnail_script_server.lua" ]; + extraScriptsToLoad = [ "mpv_thumbnail_script_server.lua" ]; src = fetchFromGitHub { owner = "Zren"; diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/applications/video/mpv/scripts/quality-menu.nix index e910cf1a9984..f08c383e6559 100644 --- a/pkgs/applications/video/mpv/scripts/quality-menu.nix +++ b/pkgs/applications/video/mpv/scripts/quality-menu.nix @@ -19,6 +19,7 @@ buildLua rec { passthru.updateScript = gitUpdater { rev-prefix = "v"; }; extraScriptsToCopy = lib.optional oscSupport "quality-menu-osc.lua"; + extraScriptsToLoad = lib.optional oscSupport "quality-menu-osc.lua"; meta = with lib; { description = "Userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly"; diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix index 414fb67cb073..c84cb6f95a67 100644 --- a/pkgs/applications/video/mpv/scripts/thumbnail.nix +++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix @@ -24,7 +24,7 @@ buildLua rec { scriptPath = "mpv_thumbnail_script_client_osc.lua"; extraScriptsToCopy = [ "mpv_thumbnail_script_server.lua" ]; - passthru.scriptName = "mpv_thumbnail_script_{client_osc,server}.lua"; + extraScriptsToLoad = [ "mpv_thumbnail_script_server.lua" ]; meta = { description = "Lua script to show preview thumbnails in mpv's OSC seekbar"; diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix index bbfdab038454..ed3dfbbb88f2 100644 --- a/pkgs/applications/video/mpv/wrapper.nix +++ b/pkgs/applications/video/mpv/wrapper.nix @@ -73,12 +73,17 @@ let # For every script in the `scripts` argument, add the necessary flags to the wrapper ( script: - [ - "--add-flags" - # Here we rely on the existence of the `scriptName` passthru - # attribute of the script derivation from the `scripts` - "--script=${script}/share/mpv/scripts/${script.scriptName}" - ] + let + mkScriptArgs = script: scriptName: [ + "--add-flags" + "--script=${script}/share/mpv/scripts/${scriptName}" + ]; + in + # Here we rely on the existence of the `scriptName` passthru + # attribute of the script derivation from the `scripts` + (mkScriptArgs script script.scriptName) + # scripts might need others to be explicitly loaded + ++ (map (extraScriptName: mkScriptArgs script extraScriptName) (script.extraScriptsToLoad or [ ])) # scripts can also set the `extraWrapperArgs` passthru ++ (script.extraWrapperArgs or [ ]) )