diff options
Diffstat (limited to 'pkgs/games/itch')
-rw-r--r-- | pkgs/games/itch/default.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/games/itch/default.nix b/pkgs/games/itch/default.nix new file mode 100644 index 0000000000000..a8cfe8f24d76b --- /dev/null +++ b/pkgs/games/itch/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenvNoCC +, fetchurl +, libnotify +, nss +, gtk3 +, fetchFromGitHub +, makeDesktopItem +, itch-setup +, runtimeShell +}: +stdenvNoCC.mkDerivation rec{ + pname = "itch"; + version = "25.5.1"; + + src = fetchFromGitHub { + owner = "itchio"; + repo = pname; + rev = "v${version}"; + hash = "sha256-Pi3l3uK4kr+N3p7fGQuqckYIzycRqJHDVX00reoSbp4="; + }; + + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = pname; + mimeType = "x-scheme-handler/itchio;x-scheme-handler/itch"; + comment = "Install and play itch.io games easily"; + extraDesktopEntries = { + TryExec = "itch %U"; + Categories = "Game;"; + }; + }) + ]; + + itchBin = '' + #!${runtimeShell} + exec ${itch-setup}/bin/itch-setup --prefer-launch -- "$@" + ''; + + passAsFile = [ "itchBin" ]; + + # as taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch + installPhase = '' + install -Dm0777 $itchBinPath $out/bin/itch + for icon in release/images/itch-icons/icon*.png + do + iconsize="''${icon#release/images/itch-icons/icon}" + iconsize="''${iconsize%.png}" + icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/" + install -Dm644 "$icon" "$icondir/itch.png" + done + ''; + + meta = with lib; { + description = "The best way to play itch.io games"; + homepage = "https://github.com/itchio/itch"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ pasqui23 ]; + }; +} |