about summary refs log tree commit diff
path: root/pkgs/by-name/lm/lmstudio/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/lm/lmstudio/package.nix')
-rw-r--r--pkgs/by-name/lm/lmstudio/package.nix38
1 files changed, 11 insertions, 27 deletions
diff --git a/pkgs/by-name/lm/lmstudio/package.nix b/pkgs/by-name/lm/lmstudio/package.nix
index f9325e5b800d9..4b48cc01ee2a6 100644
--- a/pkgs/by-name/lm/lmstudio/package.nix
+++ b/pkgs/by-name/lm/lmstudio/package.nix
@@ -1,38 +1,22 @@
 { lib
-, appimageTools
-, fetchurl
+, stdenv
+, callPackage
+, ...
 }:
-
 let
   pname = "lmstudio";
-  version = "0.2.20";
-  src = fetchurl {
-    url = "https://releases.lmstudio.ai/linux/${version}/beta/LM_Studio-${version}.AppImage";
-    hash = "sha256-T92ZDqGvxJfBkAWsK8EgHdQZnLefK3gDP2vCTL8X+eM=";
-  };
-
-  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
-    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'
-  '';
-
+  version = "0.2.24";
   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;
+    maintainers = with lib.maintainers; [ cig0 eeedean ];
+    platforms = lib.platforms.linux ++ [ "aarch64-darwin" ];
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
   };
-}
+in
+  if stdenv.isDarwin
+    then callPackage ./darwin.nix { inherit pname version meta; }
+    else callPackage ./linux.nix  { inherit pname version meta; }
+