about summary refs log tree commit diff
path: root/pkgs/tools/package-management/appimage-run/default.nix
blob: cf44e665510ed27d546a728d03c327e4f9c9135e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{ lib
, appimageTools
, buildFHSEnv
, makeDesktopItem
, extraPkgs ? pkgs: []
, appimage-run-tests ? null
}:

let
  name = "appimage-run";

  fhsArgs = appimageTools.defaultFhsEnvArgs;

  desktopItem = makeDesktopItem {
    inherit name;
    exec = name;
    desktopName = name;
    genericName = "AppImage runner";
    noDisplay = true;
    mimeTypes = ["application/vnd.appimage" "application/x-iso9660-appimage"];
    categories = ["PackageManager" "Utility"];
  };
in buildFHSEnv (lib.recursiveUpdate fhsArgs {
  inherit name;

  targetPkgs = pkgs: [ appimageTools.appimage-exec ]
    ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs;
  runScript = "appimage-exec.sh";

  extraInstallCommands = ''
    cp --recursive "${desktopItem}/share" "$out/"
  '';

  passthru.tests.appimage-run = appimage-run-tests;

  meta.mainProgram = "appimage-run";
})