nixdotfiles/etc/nixos/modules/pkgs/msty/default.nix
2025-12-02 07:42:09 +01:00

36 lines
1.1 KiB
Nix

{
appimageTools,
fetchurl,
nodejs,
nodePackages,
uv,
python3,
makeWrapper,
}: let
pname = "msty-studio";
version = "2.1.0";
src = fetchurl {
url = "https://next-assets.msty.studio/app/latest/linux/MstyStudio_x86_64.AppImage";
sha256 = "sha256-Ta2080tHXP2RwSjkV+xuGSj2UUL6vaCa4M/BtoqFrvQ=";
};
appimageContents = appimageTools.extractType2 {inherit pname version src;};
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [makeWrapper];
extraPkgs = pkgs: [
nodejs
nodePackages.npm
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} \
--prefix PATH : ${nodejs}/bin:${nodePackages.npm}/bin:${uv}/bin:${python3}/bin
'';
}