lol
1{ buildEnv, lib, callPackage, makeWrapper, makeDesktopItem }:
2
3let
4 description = "Action-adventure game, starring a certain quixotic frog";
5 engine = callPackage ./engine.nix { };
6 data = callPackage ./data.nix { };
7 desktopItem = makeDesktopItem {
8 name = "frogatto";
9 exec = "frogatto";
10 startupNotify = true;
11 icon = "${data}/share/frogatto/modules/frogatto/images/os/frogatto-icon.png";
12 comment = description;
13 desktopName = "Frogatto";
14 genericName = "frogatto";
15 categories = [ "Game" "ArcadeGame" ];
16 };
17 inherit (data) version;
18in buildEnv {
19 name = "frogatto-${version}";
20
21 nativeBuildInputs = [ makeWrapper ];
22 paths = [ engine data desktopItem ];
23 pathsToLink = [
24 "/bin"
25 "/share/frogatto/data"
26 "/share/frogatto/images"
27 "/share/frogatto/modules"
28 "/share/applications"
29 ];
30
31 postBuild = ''
32 wrapProgram $out/bin/frogatto \
33 --chdir "$out/share/frogatto"
34 '';
35
36 meta = with lib; {
37 homepage = "https://frogatto.com";
38 description = description;
39 license = with licenses; [ cc-by-30 unfree ];
40 platforms = platforms.linux;
41 maintainers = with maintainers; [ astro ];
42 };
43}