···
40
-
mkOverride = discord: name: moonlight:
41
-
discord.overrideAttrs (old: {
41
+
discord = "Discord";
42
+
discord-ptb = "DiscordPTB";
43
+
discord-canary = "DiscordCanary";
44
+
discord-development = "DiscordDevelopment";
48
+
discord = "Discord";
49
+
discord-ptb = "Discord PTB";
50
+
discord-canary = "Discord Canary";
51
+
discord-development = "Discord Development";
54
+
mkOverride = prev: moonlight: name:
55
+
let discord = prev.${name};
56
+
in discord.overrideAttrs (old: {
43
-
origAsar = "$out/opt/${name}/resources/app.asar";
44
-
movedAsar = "$out/opt/${name}/resources/_app.asar";
45
-
app = "$out/opt/${name}/resources/app";
58
+
folderName = nameTable.${name};
59
+
darwinFolderName = darwinNameTable.${name};
require("${moonlight}/injector").inject(
···
in old.installPhase + "\n" + ''
58
-
mv ${origAsar} ${movedAsar}
72
+
resources="$out/opt/${folderName}/resources"
73
+
if [ ! -d "$resources" ]; then
74
+
resources="$out/Applications/${darwinFolderName}.app/Contents/Resources"
61
-
cat > ${app}/injector.js <<EOF
77
+
mv "$resources/app.asar" "$resources/_app.asar"
78
+
mkdir -p "$resources/app"
80
+
cat > "$resources/app/injector.js" <<EOF
65
-
echo '${packageJson}' > ${app}/package.json
84
+
echo '${packageJson}' > "$resources/app/package.json"
overlay = final: prev: rec {
moonlight-mod = mkMoonlight { pkgs = final; };
71
-
discord = mkOverride prev.discord "Discord" moonlight-mod;
72
-
discord-ptb = mkOverride prev.discord-ptb "DiscordPTB" moonlight-mod;
74
-
mkOverride prev.discord-canary "DiscordCanary" moonlight-mod;
90
+
discord = mkOverride prev moonlight-mod "discord";
91
+
discord-ptb = mkOverride prev moonlight-mod "discord-ptb";
92
+
discord-canary = mkOverride prev moonlight-mod "discord-canary";
76
-
mkOverride prev.discord-development "DiscordDevelopment"
94
+
mkOverride prev moonlight-mod "discord-development";
in flake-utils.lib.eachDefaultSystem (system: