Files
millerson-overlay.nix/packages/loop/package.nix
Alexander Miroshnichenko bbd20d955d
Some checks failed
CI / check (push) Has been cancelled
feat(loop): extract desktop file and icons from AppImage
- 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
2026-06-09 13:17:16 +03:00

57 lines
1.3 KiB
Nix

{
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 ];
};
}