about summary refs log tree commit diff
path: root/pkgs/by-name/ve/vesktop
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ve/vesktop')
-rw-r--r--pkgs/by-name/ve/vesktop/disable_update_checking.patch12
-rw-r--r--pkgs/by-name/ve/vesktop/package.nix35
2 files changed, 32 insertions, 15 deletions
diff --git a/pkgs/by-name/ve/vesktop/disable_update_checking.patch b/pkgs/by-name/ve/vesktop/disable_update_checking.patch
new file mode 100644
index 0000000000000..590951b675c01
--- /dev/null
+++ b/pkgs/by-name/ve/vesktop/disable_update_checking.patch
@@ -0,0 +1,12 @@
+diff --git a/src/updater/main.ts b/src/updater/main.ts
+index 059afb9..274802e 100644
+--- a/src/updater/main.ts
++++ b/src/updater/main.ts
+@@ -77,6 +77,7 @@ function isOutdated(oldVersion: string, newVersion: string) {
+ }
+ 
+ export async function checkUpdates() {
++    return;
+     if (Settings.store.checkUpdates === false) return;
+ 
+     try {
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index 74f52e2c92784..e29007a1876c1 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -17,16 +17,21 @@
 , moreutils
 , cacert
 , nodePackages
+, speechd
+, withTTS ? true
+  # Enables the use of vencord from nixpkgs instead of
+  # letting vesktop manage it's own version
+, withSystemVencord ? true
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vesktop";
-  version = "0.4.4";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "Vencord";
     repo = "Vesktop";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Ot2O5J1wUZAWgdpJNaEUSwtbcNqDdGhzuCtx8Qg+4gg=";
+    hash = "sha256-27998q9wbaNP1xYY+KHTBeJRfR6Q/K0LNdbRb3YHC6c=";
   };
 
   # NOTE: This requires pnpm 8.10.0 or newer
@@ -73,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
       dontBuild = true;
       dontFixup = true;
       outputHashMode = "recursive";
-      outputHash = "sha256-v6ibAcfYgr1VjGK7NUF4DKd5da03mZndPUAnSl++RqE=";
+      outputHash = "sha256-cnk+KFdvsgG1wGDib7zgIS6/RkrR5EYAHtHcrFSU0Es=";
     };
 
   nativeBuildInputs = [
@@ -84,8 +89,8 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   patches = [
-    (substituteAll { inherit vencord; src = ./use_system_vencord.patch; })
-  ];
+    ./disable_update_checking.patch
+  ] ++ lib.optional withSystemVencord (substituteAll { inherit vencord; src = ./use_system_vencord.patch; });
 
   ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
 
@@ -111,16 +116,15 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   # this is consistent with other nixpkgs electron packages and upstream, as far as I am aware
-  # yes, upstream really packages it as "vesktop" but uses "vencorddesktop" file names
   installPhase =
     let
       # this is mainly required for venmic
-      libPath = lib.makeLibraryPath [
+      libPath = lib.makeLibraryPath ([
         libpulseaudio
         libnotify
         pipewire
         gcc13Stdenv.cc.cc.lib
-      ];
+      ] ++ lib.optional withTTS speechd);
     in
     ''
       runHook preInstall
@@ -132,12 +136,13 @@ stdenv.mkDerivation (finalAttrs: {
       ${libicns}/bin/icns2png -x icon.icns
       for file in icon_*x32.png; do
         file_suffix=''${file//icon_}
-        install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vencorddesktop.png
+        install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vesktop.png
       done
 
-      makeWrapper ${electron}/bin/electron $out/bin/vencorddesktop \
+      makeWrapper ${electron}/bin/electron $out/bin/vesktop \
         --prefix LD_LIBRARY_PATH : ${libPath} \
         --add-flags $out/opt/Vesktop/resources/app.asar \
+        ${lib.optionalString withTTS "--add-flags \"--enable-speech-dispatcher\""} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
 
       runHook postInstall
@@ -145,11 +150,11 @@ stdenv.mkDerivation (finalAttrs: {
 
   desktopItems = [
     (makeDesktopItem {
-      name = "vencorddesktop";
+      name = "vesktop";
       desktopName = "Vesktop";
-      exec = "vencorddesktop %U";
-      icon = "vencorddesktop";
-      startupWMClass = "VencordDesktop";
+      exec = "vesktop %U";
+      icon = "vesktop";
+      startupWMClass = "Vesktop";
       genericName = "Internet Messenger";
       keywords = [ "discord" "vencord" "electron" "chat" ];
       categories = [ "Network" "InstantMessaging" "Chat" ];
@@ -166,6 +171,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ getchoo Scrumplex vgskye pluiedev ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    mainProgram = "vencorddesktop";
+    mainProgram = "vesktop";
   };
 })