{ lib, appimageTools, fetchurl, }: let version = "6.0.3"; 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 = [ "nix-update" "--flake" ".#loop" ]; }; meta = { description = "Corporate messenger for your team"; homepage = "https://loop.ru"; license = lib.licenses.unfree; maintainers = [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "loop"; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; }