From c13d37adc3287dfd94e22aa085ac7b9b24f9c2f7 Mon Sep 17 00:00:00 2001 From: ilys <185637611+ilyist@users.noreply.github.com> Date: Sun, 2 Feb 2025 03:17:02 +0100 Subject: [PATCH] discord: add option to install moonlight client mod Co-authored-by: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com> --- .../instant-messengers/discord/darwin.nix | 13 +++++++++++++ .../networking/instant-messengers/discord/linux.nix | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix index e81f1f488c07..46ef6977cc75 100644 --- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix @@ -17,8 +17,14 @@ openasar, withVencord ? false, vencord, + withMoonlight ? false, + moonlight, }: +assert lib.assertMsg ( + !(withMoonlight && withVencord) +) "discord: Moonlight and Vencord can not be enabled at the same time"; + let disableBreakingUpdates = runCommand "disable-breaking-updates.py" @@ -72,6 +78,13 @@ stdenv.mkDerivation { mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json echo 'require("${vencord}/patcher.js")' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/index.js + '' + + + lib.strings.optionalString withMoonlight '' + mv $out/Applications/${desktopName}.app/Contents/Resources/app.asar $out/Applications/${desktopName}.app/Contents/Resources/_app.asar + mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar + echo '{"name":"discord","main":"injector.js","private": true}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json + echo 'require("${moonlight}/injector.js").inject(require("path").join(__dirname, "../_app.asar"));' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/injector.js ''; passthru = { diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index a0870e86efcd..b513aa380489 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -62,9 +62,15 @@ openasar, withVencord ? false, vencord, + withMoonlight ? false, + moonlight, withTTS ? true, }: +assert lib.assertMsg ( + !(withMoonlight && withVencord) +) "discord: Moonlight and Vencord can not be enabled at the same time"; + let disableBreakingUpdates = runCommand "disable-breaking-updates.py" @@ -195,6 +201,12 @@ stdenv.mkDerivation rec { mkdir $out/opt/${binaryName}/resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/opt/${binaryName}/resources/app.asar/package.json echo 'require("${vencord}/patcher.js")' > $out/opt/${binaryName}/resources/app.asar/index.js + '' + + lib.strings.optionalString withMoonlight '' + mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar + mkdir $out/opt/${binaryName}/resources/app + echo '{"name":"discord","main":"injector.js","private": true}' > $out/opt/${binaryName}/resources/app/package.json + echo 'require("${moonlight}/injector.js").inject(require("path").join(__dirname, "../_app.asar"));' > $out/opt/${binaryName}/resources/app/injector.js ''; desktopItem = makeDesktopItem {