From fc5e712dcc2a01ef0ed9ae9024e59a0aa60b49cd Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Sat, 26 Mar 2022 15:25:59 +0100 Subject: [PATCH] session-desktop-appimage: refactor Added desktop entry and icon. --- .../session-desktop-appimage/default.nix | 42 ++++++++++++++++++- 1 file 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 71748ee77b2f..4518627fe2b8 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";