feat(loop): extract desktop file and icons from AppImage
Some checks failed
CI / check (push) Has been cancelled

- Use appimageTools.extractType2 to access embedded assets
- Install loop-desktop.desktop and rewrite Exec=AppRun → Exec=loop
- Copy hicolor icons (16–1024px) from AppImage tree
This commit is contained in:
2026-06-09 13:17:16 +03:00
parent 5ec513fe8c
commit bbd20d955d

View File

@@ -6,22 +6,35 @@
let
version = "6.0.3";
in
appimageTools.wrapType2 {
pname = "loop";
inherit version;
src = fetchurl {
url = "https://artifacts.wilix.dev/repository/loop-files/loop-${version}/loop-desktop-${version}-linux-x86_64.AppImage";
hash = "sha256-zGWKlY6XwuL0e2mDpB/1t0UnW73bhCPcg6XkBJBCEFY=";
};
appimageContents = appimageTools.extractType2 {
pname = "loop";
inherit version src;
};
in
appimageTools.wrapType2 {
pname = "loop";
inherit version src;
extraPkgs = pkgsWith: [
pkgsWith.gtk3
pkgsWith.glib
];
extraInstallCommands = ''
mkdir -p $out/share/applications
install -m 444 ${appimageContents}/loop-desktop.desktop $out/share/applications/loop.desktop
substituteInPlace $out/share/applications/loop.desktop \
--replace-fail 'Exec=AppRun %U' 'Exec=loop %U'
mkdir -p $out/share/icons/hicolor
cp -r ${appimageContents}/usr/share/icons/hicolor/* $out/share/icons/hicolor/
'';
passthru = {
category = "Communication";
updateScript = [
@@ -31,13 +44,13 @@ appimageTools.wrapType2 {
];
};
meta = with lib; {
meta = {
description = "Corporate messenger for your team";
homepage = "https://loop.ru";
license = licenses.unfree;
maintainers = with maintainers; [ ];
license = lib.licenses.unfree;
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "loop";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}