btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / up / upscayl / package.nix
blob414a2eb1456bc0fcb19212ca348ce9841f2a530f
2   appimageTools,
3   fetchurl,
4   lib,
5   makeWrapper,
6 }:
8 let
9   pname = "upscayl";
10   version = "2.11.5";
12   src = fetchurl {
13     url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
14     hash = "sha256-owxSm8t7rHM5ywJPp8sJQ5aAyNKgrbyJY6qFp78/UhM=";
15   };
17   appimageContents = appimageTools.extractType2 {
18     inherit pname version src;
19   };
21 appimageTools.wrapType2 {
22   inherit pname version src;
24   nativeBuildInputs = [
25     makeWrapper
26   ];
28   extraPkgs = pkgs: [
29     pkgs.vulkan-headers
30     pkgs.vulkan-loader
31   ];
33   extraInstallCommands = ''
34     mkdir -p $out/share/{applications,pixmaps}
36     cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
37     cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png
39     substituteInPlace $out/share/applications/${pname}.desktop \
40       --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
42     wrapProgram $out/bin/${pname} \
43       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
44   '';
46   meta = with lib; {
47     description = "Free and Open Source AI Image Upscaler";
48     homepage = "https://upscayl.github.io/";
49     maintainers = with maintainers; [ icy-thought ];
50     license = licenses.agpl3Plus;
51     platforms = platforms.linux;
52     mainProgram = "upscayl";
53   };