about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/session-desktop-appimage
diff options
context:
space:
mode:
authorAlexander Nortung <alex_nortung@live.dk>2022-03-26 15:25:59 +0100
committerAlexander Nortung <alex_nortung@live.dk>2022-03-29 14:57:46 +0200
commitfc5e712dcc2a01ef0ed9ae9024e59a0aa60b49cd (patch)
tree7708cfd995e776751ba13518c1e1f4d426df657d /pkgs/applications/networking/instant-messengers/session-desktop-appimage
parent1d5c9053d10eabeca8a784ea6455f97c3a51e11b (diff)
session-desktop-appimage: refactor
Added desktop entry and icon.
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/session-desktop-appimage')
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix42
1 files changed, 40 insertions, 2 deletions
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index 71748ee77b2f5..4518627fe2b89 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -1,15 +1,53 @@
 { lib
+, makeDesktopItem
+, copyDesktopItems
+, stdenvNoCC
 , fetchurl
 , appimageTools
 }:
 
-appimageTools.wrapType2 rec {
-  pname = "session-desktop-appimage";
+let
   version = "1.7.9";
+  pname = "session-desktop-appimage";
+
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
     sha256 = "ca7754e59146633b71e66b02a90cff87e4f2574e57ff831ca4a5f983b7e2fbef";
   };
+  appimage = appimageTools.wrapType2 {
+    inherit version pname src;
+  };
+  appimage-contents = appimageTools.extractType2 {
+    inherit version pname src;
+  };
+in
+stdenvNoCC.mkDerivation {
+  inherit version pname;
+  src = appimage;
+
+  nativeBuildInputs = [ copyDesktopItems ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Session";
+      desktopName = "Session";
+      comment = "Onion routing based messenger";
+      exec = "${appimage}/bin/session-desktop-appimage-${version}";
+      icon = "${appimage-contents}/session-desktop.png";
+      terminal = false;
+      type = "Application";
+      categories = [ "Network" ];
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/
+    cp -r bin $out/bin
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Onion routing based messenger";