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 {