2022-10-18 20:47:32 +00:00
|
|
|
{
|
|
|
|
lib,
|
2022-10-18 21:39:42 +00:00
|
|
|
dotnet-sdk,
|
|
|
|
targetPlatform,
|
2022-10-18 20:47:32 +00:00
|
|
|
|
|
|
|
buildDotnetModule,
|
|
|
|
fetchFromGitHub,
|
|
|
|
|
|
|
|
libX11,
|
|
|
|
libICE,
|
|
|
|
libSM,
|
|
|
|
fontconfig,
|
|
|
|
}:
|
|
|
|
|
|
|
|
buildDotnetModule rec {
|
|
|
|
pname = "BeatSaberModManager";
|
|
|
|
version = "0.0.2";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "affederaffe";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "sha256-6+9pWr8jJzs430Ai2ddh/2DK3C2bQA1e1+BNDrKhyzY=";
|
|
|
|
fetchSubmodules = true; # It vendors BSIPA-Linux
|
|
|
|
};
|
|
|
|
|
2022-10-18 21:39:42 +00:00
|
|
|
# This _must_ be specified in the project file and it can only be one so
|
|
|
|
# obviously you wouldn't specify it as an upstream project. Typical M$.
|
|
|
|
patches = [ ./add-runtime-identifier.patch ];
|
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace BeatSaberModManager/BeatSaberModManager.csproj \
|
|
|
|
--replace @RuntimeIdentifier@ "${dotnet-sdk.passthru.systemToDotnetRid targetPlatform.system}"
|
|
|
|
'';
|
2022-10-18 20:47:32 +00:00
|
|
|
|
2022-10-18 21:39:42 +00:00
|
|
|
nugetDeps = ./deps.nix;
|
2022-10-18 20:47:32 +00:00
|
|
|
|
|
|
|
runtimeDeps = [
|
|
|
|
libX11
|
|
|
|
libICE
|
|
|
|
libSM
|
|
|
|
fontconfig
|
|
|
|
];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Yet another mod installer for Beat Saber, heavily inspired by ModAssistant";
|
|
|
|
homepage = "https://github.com/affederaffe/BeatSaberModManager";
|
|
|
|
longDescription = ''
|
|
|
|
BeatSaberModManager is yet another mod installer for Beat Saber, heavily inspired by ModAssistant
|
|
|
|
It strives to look more visually appealing and support both Windows and Linux, while still being as feature-rich as ModAssistant.
|
|
|
|
|
|
|
|
Features
|
|
|
|
|
|
|
|
- Windows and Linux support
|
|
|
|
- Dependency resolution
|
|
|
|
- Installed mod detection
|
|
|
|
- Mod uninstallation
|
|
|
|
- Theming support
|
|
|
|
- OneClick™ support for BeatSaver, ModelSaber and Playlists
|
|
|
|
'';
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ atemu ];
|
|
|
|
platforms = with platforms; linux;
|
|
|
|
};
|
|
|
|
}
|