1{
2 appimageTools,
3 makeWrapper,
4
5 pname,
6 version,
7 meta,
8 src,
9}:
10
11let
12 appimageContents = appimageTools.extractType2 {
13 inherit pname version src;
14 };
15in
16appimageTools.wrapType2 {
17 inherit
18 pname
19 version
20 src
21 meta
22 ;
23
24 nativeBuildInputs = [
25 makeWrapper
26 ];
27
28 extraPkgs = pkgs: [
29 pkgs.vulkan-headers
30 pkgs.vulkan-loader
31 ];
32
33 extraInstallCommands = ''
34 mkdir -p $out/share/{applications,pixmaps}
35
36 cp ${appimageContents}/upscayl.desktop $out/share/applications/upscayl.desktop
37 cp ${appimageContents}/upscayl.png $out/share/pixmaps/upscayl.png
38
39 substituteInPlace $out/share/applications/upscayl.desktop \
40 --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=upscayl'
41
42 wrapProgram $out/bin/upscayl \
43 --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
44 '';
45
46}