summary refs log tree commit diff
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2023-04-30 22:21:39 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2023-05-20 19:27:47 +0200
commit9e844c164ca71d7aebaa38b042edac501e158bab (patch)
tree87f16056080e01547be085c820275ee061172759
parent3f28fcef421532c1bc8c5bec2ea356217f5608e0 (diff)
downloadnixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar.gz
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar.bz2
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar.lz
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar.xz
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.tar.zst
nixpkgs-9e844c164ca71d7aebaa38b042edac501e158bab.zip
discord: add option to install Vencord
Add new withVencord parameter to install Vencord when building. This
uses the previously introduced vencord package.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/darwin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix11
2 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix
index 7b1c2b9be9f..ef3a9031bb9 100644
--- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix
@@ -1,4 +1,7 @@
-{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, branch, withOpenASAR ? false }:
+{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper
+, branch
+, withOpenASAR ? false, openasar
+, withVencord ? false, vencord }:
 
 stdenv.mkDerivation {
   inherit pname version src meta;
@@ -22,5 +25,10 @@ stdenv.mkDerivation {
 
   postInstall = lib.strings.optionalString withOpenASAR ''
     cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar
+  '' + lib.strings.optionalString withVencord ''
+    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":"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
   '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 43a0ff082bf..ab1953858d7 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -1,4 +1,4 @@
-{ pname, version, src, openasar, meta, binaryName, desktopName, autoPatchelfHook
+{ pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
 , makeDesktopItem, lib, stdenv, wrapGAppsHook, makeShellWrapper, alsa-lib, at-spi2-atk
 , at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
 , glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11
@@ -9,7 +9,9 @@
 , speechd
 , wayland
 , branch
-, common-updater-scripts, withOpenASAR ? false, withTTS ? false }:
+, withOpenASAR ? false, openasar
+, withVencord ? false, vencord
+, withTTS ? false }:
 
 let
   disableBreakingUpdates = runCommand "disable-breaking-updates.py"
@@ -124,6 +126,11 @@ stdenv.mkDerivation rec {
 
   postInstall = lib.strings.optionalString withOpenASAR ''
     cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar
+  '' + lib.strings.optionalString withVencord ''
+    mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar
+    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
   '';
 
   desktopItem = makeDesktopItem {