fangame-flake/flake.nix

75 lines
2.5 KiB
Nix
Raw Normal View History

2023-06-15 01:41:21 +02:00
{
description = "A flake for running pokemon fangames, often via wine";
inputs.erosanix.url = "github:emmanuelrosa/erosanix";
inputs.erosanix.inputs.nixpkgs.follows = "nixpkgs";
outputs = {
self,
nixpkgs,
erosanix,
...
} @ inputs:
let
systems = nixpkgs.lib.systems.flakeExposed;
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f rec {
inherit system;
inherit (nixpkgs.legacyPackages.${system}) pkgs lib;
});
in nixpkgs.lib.recursiveUpdate {
lib = forAllSystems ({ pkgs, system, ... }: pkgs.callPackage ./pkgs/fetchers.nix {
inherit (self.packages.${system}) badown mediafire-dl;
});
packages = forAllSystems ({ pkgs, ... }: {
badown = pkgs.callPackage ./pkgs/badown.nix {};
mediafire-dl = pkgs.python3Packages.callPackage ./pkgs/mediafire-dl.nix {};
});
}{
# mkWindowsApp resources:
# - https://github.com/emmanuelrosa/erosanix/tree/master/pkgs/mkwindowsapp
# - https://github.com/emmanuelrosa/sumatrapdf-nix/blob/master/sumatrapdf.nix
packages.x86_64-linux = with nixpkgs.legacyPackages.x86_64-linux; let
callPackage = newScope (
{ wine = wineWowPackages.full; wineArch = "win64"; }
// self.lib.x86_64-linux
// erosanix.lib.x86_64-linux
);
in rec {
2023-06-29 00:13:42 +02:00
pokemon-infinite-fusion = callPackage ./games/pokemon-infinite-fusion.nix {
legacy-version = false;
};
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-infinite-fusion-legacy = callPackage ./games/pokemon-infinite-fusion.nix {
legacy-version = true;
wine = winePackages.full;
wineArch = "win32";
};
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-project-untamed = callPackage ./games/pokemon-project-untamed.nix { };
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-infinity = callPackage ./games/pokemon-infinity.nix { wine = winePackages.full; wineArch = "win32"; };
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-uranium = callPackage ./games/pokemon-uranium.nix { wine = winePackages.full; wineArch = "win32"; };
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-clockwork = callPackage ./games/pokemon-clockwork.nix { wine = winePackages.full; wineArch = "win32"; };
2023-06-15 01:41:21 +02:00
2023-06-29 00:13:42 +02:00
pokemon-xenoverse = callPackage ./games/pokemon-xenoverse.nix { wine = winePackages.full; wineArch = "win32"; };
2023-06-15 22:41:31 +02:00
2023-06-29 00:13:42 +02:00
pokemon-anil = callPackage ./games/pokemon-anil.nix { wine = winePackages.full; wineArch = "win32"; };
2023-06-15 01:41:21 +02:00
};
# a mkWindowsApp garbage-collect tool
2023-06-15 01:41:21 +02:00
apps.x86_64-linux.gc = {
type = "app";
program = "${erosanix.packages.x86_64-linux.mkwindowsapp-tools}/bin/mkwindows-tools-gc";
};
};
}