Files
nixpkgs/pkgs/by-name/lm/lmstudio/linux.nix
crertel be6cb1692e lmstudio: 0.4.21.2 -> 0.4.23.1
Assisted-by: Claude Code (Claude Opus 5)
2026-08-31 22:46:49 -05:00

48 lines
1.1 KiB
Nix

{
appimageTools,
fetchurl,
version,
url,
hash,
pname,
meta,
stdenv,
passthru,
}:
let
src = fetchurl { inherit url hash; };
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit
meta
pname
version
src
passthru
;
extraPkgs = pkgs: [ pkgs.ocl-icd ];
extraInstallCommands = ''
# upstream ships pre-rendered icons for every hicolor size
mkdir -p $out/share/icons
cp -r ${appimageContents}/usr/share/icons/hicolor $out/share/icons/
install -m 444 -D ${appimageContents}/ai.elementlabs.lmstudio.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/ai.elementlabs.lmstudio.desktop \
--replace-fail 'Exec=AppRun %U' 'Exec=lm-studio %U'
# lms cli tool
install -m 755 ${appimageContents}/resources/app/.webpack/lms $out/bin/
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/bin/lms
'';
}