{ appwrapper = { pkgs, inputpkg, pkgsuffix, libraries, extrapathpkgs }: with pkgs; let name = "${inputpkg.pname}-${pkgsuffix}"; in stdenv.mkDerivation { inherit name; inherit (inputpkg) version; nativeBuildInputs = [ makeWrapper gnused ]; buildCommand = '' mkdir -p $out/bin mkdir -p $out/share/applications cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \ --prefix PATH : "${lib.makeBinPath extrapathpkgs}" substituteInPlace $out/share/applications/${name}.desktop \ --replace-fail "=${inputpkg.pname}" "=${name}" sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop" echo $out/bin/${name} ''; dontBuild = true; }; }