about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/beeper
diff options
context:
space:
mode:
authorJoshua Campbell <me@joshuadcampbell.com>2023-07-06 16:00:32 -0700
committerJoshua Campbell <me@joshuadcampbell.com>2023-08-29 15:13:15 -0700
commitf88c7b0f71c04228854c7593e53cf8eac87f1342 (patch)
tree1774f10dac2371afbc0aba0af8ada9d15cc03fb6 /pkgs/applications/networking/instant-messengers/beeper
parent4b01682aee3962364e46fd6ec3771ab97b84f79b (diff)
beeper: init at 3.71.16
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/beeper')
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
new file mode 100644
index 0000000000000..c523b59fb1993
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -0,0 +1,59 @@
+{ lib, fetchurl, mkDerivation, appimageTools, libsecret, makeWrapper }:
+let
+  pname = "beeper";
+  version = "3.71.16";
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-${version}.AppImage";
+    hash = "sha256-Ho5zFmhNzkOmzo/btV+qZfP2GGx5XvV/1JncEKlH4vc=";
+  };
+  appimage = appimageTools.wrapType2 {
+    inherit version pname src;
+    extraPkgs = pkgs: with pkgs; [ libsecret ];
+  };
+  appimageContents = appimageTools.extractType2 {
+    inherit version pname src;
+  };
+in
+mkDerivation rec {
+  inherit name pname;
+
+  src = appimage;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mv bin/${name} bin/${pname}
+
+    mkdir -p $out/
+    cp -r bin $out/bin
+
+    mkdir -p $out/share/${pname}
+    cp -a ${appimageContents}/locales $out/share/${pname}
+    cp -a ${appimageContents}/resources $out/share/${pname}
+    cp -a ${appimageContents}/usr/share/icons $out/share/
+    install -Dm 644 ${appimageContents}/${pname}.desktop -t $out/share/applications/
+
+    substituteInPlace $out/share/applications/${pname}.desktop --replace "AppRun" "${pname}"
+
+    wrapProgram $out/bin/${pname} \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}} --no-update"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Universal chat app.";
+    longDescription = ''
+      Beeper is a universal chat app. With Beeper, you can send
+      and receive messages to friends, family and colleagues on
+      many different chat networks.
+    '';
+    homepage = "https://beeper.com";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jshcmpbll ];
+    platforms = [ "x86_64-linux" ];
+  };
+}