lol
1{
2 lib,
3 appimageTools,
4 buildFHSEnv,
5 makeDesktopItem,
6 extraPkgs ? pkgs: [ ],
7 appimage-run-tests ? null,
8}:
9
10let
11 name = "appimage-run";
12
13 fhsArgs = appimageTools.defaultFhsEnvArgs;
14
15 desktopItem = makeDesktopItem {
16 inherit name;
17 exec = name;
18 desktopName = name;
19 genericName = "AppImage runner";
20 noDisplay = true;
21 mimeTypes = [
22 "application/vnd.appimage"
23 "application/x-iso9660-appimage"
24 ];
25 categories = [
26 "PackageManager"
27 "Utility"
28 ];
29 };
30in
31buildFHSEnv (
32 lib.recursiveUpdate fhsArgs {
33 inherit name;
34
35 targetPkgs = pkgs: [ appimageTools.appimage-exec ] ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs;
36 runScript = "appimage-exec.sh";
37
38 extraInstallCommands = ''
39 cp --recursive "${desktopItem}/share" "$out/"
40 '';
41
42 passthru.tests.appimage-run = appimage-run-tests;
43
44 meta.mainProgram = "appimage-run";
45 }
46)