94 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   buildDotnetModule,
 | |
|   fetchFromGitHub,
 | |
|   dotnetCorePackages,
 | |
|   makeDesktopItem,
 | |
|   copyDesktopItems,
 | |
|   libX11,
 | |
|   glew,
 | |
|   libGL,
 | |
|   libICE,
 | |
|   libSM,
 | |
|   libXcursor,
 | |
|   libXext,
 | |
|   libXi,
 | |
|   libXrandr,
 | |
| }:
 | |
| buildDotnetModule (finalAttrs: {
 | |
|   pname = "Tkmm";
 | |
|   version = "2.0.0-beta3";
 | |
| 
 | |
|   src = fetchFromGitHub {
 | |
|     owner = "TKMM-Team";
 | |
|     repo = "Tkmm";
 | |
|     tag = "v${finalAttrs.version}";
 | |
|     hash = "sha256-XdnNKnusvWhNy/0rQCULft6ztsB/nhTeQiN4F9LmxJE=";
 | |
|     fetchSubmodules = true;
 | |
|   };
 | |
| 
 | |
|   patches = [ ./patchTk.diff ];
 | |
| 
 | |
|   selfContainedBuild = true;
 | |
| 
 | |
|   dotnet-sdk = dotnetCorePackages.sdk_9_0;
 | |
|   dotnet-runtime = dotnetCorePackages.runtime_9_0;
 | |
|   projectFile = [
 | |
|     "src/Tkmm/Tkmm.csproj"
 | |
|     "src/Tkmm.CLI/Tkmm.CLI.csproj"
 | |
|   ];
 | |
|   nugetDeps = ./deps.json;
 | |
|   executables = [
 | |
|     "Tkmm"
 | |
|     "Tkmm.CLI"
 | |
|   ];
 | |
| 
 | |
|   nativeBuildInputs = [ copyDesktopItems ];
 | |
| 
 | |
|   runtimeDeps = [
 | |
|     # Avalonia UI
 | |
|     libX11
 | |
|     libGL
 | |
|     glew
 | |
|     libICE
 | |
|     libSM
 | |
|     libXcursor
 | |
|     libXext
 | |
|     libXi
 | |
|     libXrandr
 | |
|   ];
 | |
| 
 | |
|   enableParallelBuilding = false;
 | |
|   dotnetFlags = [
 | |
|     ''-p:DefineConstants="READONLY_FS"''
 | |
|   ];
 | |
| 
 | |
|   postInstall = ''
 | |
|     install -D distribution/appimage/tkmm.svg $out/share/icons/hicolor/scalable/apps/tkmm.svg
 | |
|   '';
 | |
| 
 | |
|   desktopItems = [
 | |
|     (makeDesktopItem {
 | |
|       name = "Tears of the Kingdom Mod Manager";
 | |
|       exec = "Tkmm";
 | |
|       icon = "tkmm";
 | |
|       desktopName = "TKMM";
 | |
|       categories = [
 | |
|         "Game"
 | |
|       ];
 | |
|       comment = "Tears of the Kingdom Mod Manager";
 | |
|     })
 | |
|   ];
 | |
| 
 | |
|   meta = {
 | |
|     description = "Tears of the Kingdom Mod Manager, a mod merger and manager for TotK";
 | |
|     homepage = "https://tkmm.org/";
 | |
|     license = lib.licenses.mit;
 | |
|     mainProgram = "Tkmm";
 | |
|     maintainers = with lib.maintainers; [
 | |
|       rucadi
 | |
|     ];
 | |
|     platforms = lib.platforms.unix;
 | |
|   };
 | |
| })
 | 
