Files
nixpkgs/pkgs/msty-studio/default.nix
T

49 lines
1.5 KiB
Nix
Raw Normal View History

# last-modified: Wed, 24 Sep 2025 00:17:41 GMT
2025-10-04 15:53:48 +02:00
{
appimageTools,
fetchurl,
lib,
nodejs,
uv,
python3,
makeWrapper,
}: let
pname = "msty-studio";
version = "2.0.0-beta.4";
# Upstream publishes to an unversioned URL — ./update.sh watches Last-Modified
# and refreshes the sha256 when the binary changes. Bump `version` manually.
2025-10-04 15:53:48 +02:00
src = fetchurl {
url = "https://next-assets.msty.studio/app/alpha/linux/MstyStudio_x86_64.AppImage";
sha256 = "sha256-zJcGK7QEL3ROgVJy13mMdY/437H3Zx8EwSXy7rEhV9w=";
};
appimageContents = appimageTools.extractType2 {inherit pname version src;};
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [makeWrapper];
extraPkgs = pkgs: [
nodejs
uv
python3
];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/MstyStudio.desktop -t $out/share/applications
substituteInPlace $out/share/applications/MstyStudio.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
install -m 444 -D ${appimageContents}/MstyStudio.png \
$out/share/icons/hicolor/256x256/apps/MstyStudio.png
wrapProgram $out/bin/${pname} \
2026-04-08 17:47:20 +02:00
--prefix PATH : ${nodejs}/bin:${uv}/bin:${python3}/bin
2025-10-04 15:53:48 +02:00
'';
passthru.updateScript = ./update.sh;
2025-10-04 15:53:48 +02:00
meta = {
description = "Msty Studio enables advanced, privacypreserving AI workflows entirely on your local machine.";
license = lib.licenses.unfree;
platforms = lib.platforms.linux;
mainProgram = "msty-studio";
};
}