about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/beeper
diff options
context:
space:
mode:
authorMatt Moriarity <matt@mattmoriarity.com>2023-10-07 14:25:11 -0600
committerMatt Moriarity <matt@mattmoriarity.com>2023-10-10 23:17:48 -0600
commitbe596a5aab0c485cf56da9956a72e305abe3e954 (patch)
tree136b60722629154fba7030c10c4441b731336c1d /pkgs/applications/networking/instant-messengers/beeper
parentf99e5f03cc0aa231ab5950a15ed02afec45ed51a (diff)
beeper: add update script
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/beeper')
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix30
1 files changed, 27 insertions, 3 deletions
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index c523b59fb1993..30e78a7652dde 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -1,10 +1,20 @@
-{ lib, fetchurl, mkDerivation, appimageTools, libsecret, makeWrapper }:
+{ lib
+, fetchurl
+, mkDerivation
+, appimageTools
+, libsecret
+, makeWrapper
+, writeShellApplication
+, curl
+, yq
+, common-updater-scripts
+}:
 let
   pname = "beeper";
   version = "3.71.16";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-${version}.AppImage";
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.71.16.AppImage";
     hash = "sha256-Ho5zFmhNzkOmzo/btV+qZfP2GGx5XvV/1JncEKlH4vc=";
   };
   appimage = appimageTools.wrapType2 {
@@ -16,7 +26,7 @@ let
   };
 in
 mkDerivation rec {
-  inherit name pname;
+  inherit name pname version;
 
   src = appimage;
 
@@ -44,6 +54,20 @@ mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    updateScript = lib.getExe (writeShellApplication {
+      name = "update-beeper";
+      runtimeInputs = [ curl yq common-updater-scripts ];
+      text = ''
+        set -o errexit
+        latestLinux="$(curl -s https://download.todesktop.com/2003241lzgn20jd/latest-linux.yml)"
+        version="$(echo "$latestLinux" | yq -r .version)"
+        filename="$(echo "$latestLinux" | yq -r '.files[] | .url | select(. | endswith(".AppImage"))')"
+        update-source-version beeper "$version" "" "https://download.todesktop.com/2003241lzgn20jd/$filename" --source-key=src.src
+      '';
+    });
+  };
+
   meta = with lib; {
     description = "Universal chat app.";
     longDescription = ''