1 { stdenv, lib, rustPlatform, fetchFromGitHub, fetchurl, SDL2, makeWrapper, makeDesktopItem}:
4 desktopFile = makeDesktopItem {
5 name = "system-syzygy";
6 exec = "@out@/bin/syzygy";
7 comment = "A puzzle game";
8 desktopName = "System Syzygy";
9 categories = [ "Game" ];
12 rustPlatform.buildRustPackage rec {
13 pname = "system-syzygy";
16 src = fetchFromGitHub {
19 rev = "5ba148fed7aae14bf35108d7303e4194e8ffe5e8";
20 sha256 = "07mzwx8ql33q865snnw4gm3dgf0mnm60lnq1f5fgas2yjy9g9vwa";
23 nativeBuildInputs = [ makeWrapper ];
24 buildInputs = [ SDL2 ];
26 cargoSha256 = "1jp9wnavq92w52ksj2q9fi3y58wq7ybfkx2kfbx2i2xv8d7y88ax";
29 mkdir -p $out/share/syzygy/
30 cp -r ${src}/data/* $out/share/syzygy/
31 wrapProgram $out/bin/syzygy --set SYZYGY_DATA_DIR $out/share/syzygy
32 mkdir -p $out/share/applications
33 substituteAll ${desktopFile}/share/applications/system-syzygy.desktop $out/share/applications/system-syzygy.desktop
38 broken = stdenv.isDarwin;
39 description = "A story and a puzzle game, where you solve a variety of puzzle";
40 homepage = "https://mdsteele.games/syzygy";
41 license = licenses.gpl3Plus;
42 maintainers = [ maintainers.marius851000 ];