{ 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"; })