diff --git a/pkgs/by-name/ch/chatzone-desktop/package.nix b/pkgs/by-name/ch/chatzone-desktop/package.nix new file mode 100644 index 000000000000..27a0aba212e3 --- /dev/null +++ b/pkgs/by-name/ch/chatzone-desktop/package.nix @@ -0,0 +1,74 @@ +{ + lib, + appimageTools, + fetchurl, + stdenvNoCC, + makeDesktopItem, + copyDesktopItems, + makeWrapper, +}: + +let + pname = "chatzone-desktop"; + version = "5.2.1"; + src = fetchurl { + url = "https://cdn1.ozone.ru/s3/chatzone-clients/ci/31072024-1/407/chatzone-desktop-linux-5.2.1.AppImage"; + hash = "sha256-IXn7mAY3+2q+/PKcNQbRVW+wbAPMWLUh/DGAic6M898="; + }; + appimageContents = appimageTools.extract { inherit pname version src; }; +in +stdenvNoCC.mkDerivation { + inherit pname version; + + src = appimageTools.wrapType2 { inherit pname version src; }; + + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; + + desktopItems = [ + (makeDesktopItem { + name = "chatzone"; + exec = "chatzone-desktop"; + icon = "chatzone-desktop"; + terminal = false; + desktopName = "Chatzone"; + genericName = "Ozon corporate messenger"; + comment = "Mattermost Desktop application for Linux"; + categories = [ + "Network" + "InstantMessaging" + "Chat" + ]; + mimeTypes = [ "x-scheme-handler/mattermost" ]; + }) + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/ + cp -r bin $out/bin + + mkdir -p $out/share/chatzone-desktop/ + cp ${appimageContents}/app_icon.png $out/share/chatzone-desktop/ + cp -r ${appimageContents}/usr/share/icons $out/share + + wrapProgram $out/bin/chatzone-desktop \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" + + runHook postInstall + ''; + + meta = { + description = "Ozon corporate messenger"; + mainProgram = "chatzone-desktop"; + homepage = "https://apps.o3team.ru/"; + downloadPage = "https://apps.o3team.ru/"; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + license = lib.licenses.unfreeRedistributable; + maintainers = [ lib.maintainers.progrm_jarvis ]; + platforms = [ "x86_64-linux" ]; + }; +}