Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.1 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
appimageTools,
fetchurl,
version,
url,
hash,
pname,
meta,
stdenv,
lib,
passthru,
}:
let
src = fetchurl { inherit url hash; };
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit
meta
pname
version
src
passthru
;
extraPkgs = pkgs: [ pkgs.ocl-icd ];
extraInstallCommands = ''
mkdir -p $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications
# Rename the main executable from lmstudio to lm-studio
mv $out/bin/lmstudio $out/bin/lm-studio
substituteInPlace $out/share/applications/lm-studio.desktop \
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=lm-studio'
# lms cli tool
install -m 755 ${appimageContents}/resources/app/.webpack/lms $out/bin/
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
--set-rpath "${lib.getLib stdenv.cc.cc}/lib:${lib.getLib stdenv.cc.cc}/lib64:$out/lib:${
lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ]
}" $out/bin/lms
'';
}