{ config, pkgs, lib, ... }:
lib.mkMerge [
{

  # TODO: gamemode?

	#services.joycond.enable = true;

  environment.systemPackages = [
    (pkgs.lutris.override {
      extraPkgs = pkgs: [
        pkgs.wineWowPackages.staging
        pkgs.winetricks
        pkgs.pixman
        pkgs.libjpeg
        (pkgs.zenity or pkgs.gnome.pkgs.adwaita-icon-theme)
      ];
      extraLibraries =  pkgs: [
      ];
    })

    # ensure icons appear
    (pkgs.adwaita-icon-theme or pkgs.gnome.pkgs.adwaita-icon-theme)
    pkgs.hicolor-icon-theme #

    # Needed for some installers like League of Legends
    pkgs.openssl
    (pkgs.zenity or pkgs.gnome.pkgs.adwaita-icon-theme)

  ];

}
(lib.optionalAttrs (lib.versionOlder (lib.versions.majorMinor lib.version) "24.11") {
  hardware.opengl.enable = true;
  hardware.opengl.driSupport = true;
  hardware.opengl.driSupport32Bit = true;
  hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
})
(lib.optionalAttrs (lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.11") {
  hardware.graphics.enable = true;
  hardware.graphics.enable32Bit = true;
  hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
})

]