27 pname = "space-station-14-launcher";
29 buildDotnetModule rec {
30 inherit pname version;
32 # Workaround to prevent buildDotnetModule from overriding assembly versions.
33 name = "${pname}-${version}";
35 src = fetchFromGitHub {
36 owner = "space-wizards";
37 repo = "SS14.Launcher";
39 hash = "sha256-Gajs8zINWBJ3BvAPKYan0bCRbEVscz56pyE9WOLiOqU=";
40 fetchSubmodules = true;
43 buildType = "Release";
44 selfContainedBuild = false;
47 "SS14.Loader/SS14.Loader.csproj"
48 "SS14.Launcher/SS14.Launcher.csproj"
51 nugetDeps = ./deps.nix;
54 inherit version; # Workaround so update script works.
55 updateScript = ./update.sh;
58 # SDK 6.0 required for Robust.LoaderApi
59 dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_8_0 sdk_6_0 ];
60 dotnet-runtime = dotnetCorePackages.runtime_8_0;
64 "-p:RobustILLink=true"
68 nativeBuildInputs = [ wrapGAppsHook3 iconConvTools copyDesktopItems ];
71 # Required by the game.
80 # Needed for file dialogs.
89 # Avalonia UI dependencies.
93 executables = [ "SS14.Launcher" ];
98 exec = meta.mainProgram;
100 desktopName = "Space Station 14 Launcher";
101 comment = meta.description;
102 categories = [ "Game" ];
103 startupWMClass = meta.mainProgram;
108 mkdir -p $out/lib/space-station-14-launcher/loader
109 cp -r SS14.Loader/bin/${buildType}/*/*/* $out/lib/space-station-14-launcher/loader/
111 icoFileToHiColorTheme SS14.Launcher/Assets/icon.ico space-station-14-launcher $out
114 dontWrapGApps = true;
117 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
121 description = "Launcher for Space Station 14, a multiplayer game about paranoia and disaster";
122 homepage = "https://spacestation14.io";
123 license = licenses.mit;
125 platforms = [ "x86_64-linux" ];
126 mainProgram = "SS14.Launcher";