This commit is contained in:
2024-04-23 20:45:23 +02:00
parent 39b60f875b
commit db52fa74c0
3 changed files with 41 additions and 0 deletions

View File

@@ -4,4 +4,5 @@
pkgs ? import <nixpkgs> {}}: rec {
# example = pkgs.callPackage ./example { };
dwm-customized = pkgs.callPackage ./dwm-customized {};
lmstudio = pkgs.callPackage ./lmstudio {};
}

39
pkgs/lmstudio/default.nix Normal file
View File

@@ -0,0 +1,39 @@
{ lib
, appimageTools
, fetchurl
}:
let
pname = "lmstudio";
version = "0.2.18";
src = fetchurl {
url = "https://releases.lmstudio.ai/linux/${version}/beta/LM_Studio-${version}.AppImage";
hash = "sha256-cUa0fjV7xx6+2tnGVP7uLG0QQb44LhP2nYsn6Qn0al4=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.ocl-icd ];
extraInstallCommands = ''
mkdir -p $out/share/applications
mv $out/bin/lmstudio-${version} $out/bin/lmstudio
cp -r ${appimageContents}/usr/share/icons $out/share
install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications
substituteInPlace $out/share/applications/lm-studio.desktop \
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=lmstudio'
'';
meta = {
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";
homepage = "https://lmstudio.ai/";
license = lib.licenses.unfree;
mainProgram = "lmstudio";
maintainers = with lib.maintainers; [ drupol ];
platforms = lib.platforms.linux;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}