discord: add option to install moonlight client mod

Co-authored-by: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com>
This commit is contained in:
ilys
2025-02-07 16:21:07 +01:00
co-authored by DontEatOreo
parent 54fbefb067
commit c13d37adc3
2 changed files with 25 additions and 0 deletions
@@ -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 = {
@@ -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 {