NiksOS/pkgs/visicut/default.nix
2025-07-27 23:12:03 +02:00

43 lines
1.3 KiB
Nix

{
appimageTools,
fetchurl,
lib,
}: let
pname = "VisiCut";
version = "2.1";
src = fetchurl {
url = "https://github.com/t-oster/VisiCut/releases/download/${version}/VisiCut-${version}+devel-x86_64.AppImage";
hash = "sha256-Mq6Rjozshwk8asY+5egScQ5TkoxzRnWlZ9p0WeEOoiE=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
postExtract = ''
substituteInPlace $out/${desktopFile} --replace-fail 'Exec=visicut' 'Exec=${pname}'
'';
};
desktopFile = "VisiCut.desktop";
iconFile = "visicut.png";
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/${desktopFile} $out/share/applications/${desktopFile}
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/128x128/apps/${iconFile} \
$out/share/icons/hicolor/128x128/apps/${iconFile}
'';
meta = {
description = "A userfriendly tool to prepare, save and send Jobs to Lasercutters.";
homepage = "https://visicut.org/";
downloadPage = "https://github.com/t-oster/VisiCut/releases/";
license = lib.licenses.lgpl3;
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
# maintainers = with lib.maintainers; [onny];
mainProgram = "VisiCut";
platforms = ["x86_64-linux"];
};
}