mod: added proton manager to gaming module, added alsa to sound, added 32-bit libs to graphics
This commit is contained in:
+24
-11
@@ -76,6 +76,16 @@ in {
|
||||
enable = lib.mkEnableOption "OpenGL/Vulkan overlay tool shown in games presenting FPS, CPU/GPU/memory utilization, load, etc.";
|
||||
};
|
||||
|
||||
proton = {
|
||||
enable = lib.mkEnableOption "Proton compatibility tool management";
|
||||
|
||||
manager = lib.mkOption {
|
||||
type = lib.types.enum ["protonplus" "protonup-qt"];
|
||||
default = "protonup-qt";
|
||||
description = "Graphical Proton compatibility tool manager to install";
|
||||
};
|
||||
};
|
||||
|
||||
lutris = {
|
||||
enable = lib.mkEnableOption "Lutris game manager and launcher";
|
||||
package = lib.mkOption {
|
||||
@@ -93,14 +103,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
# Compatibility layers for Lutris
|
||||
compatibility = {
|
||||
protonSupport = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Enable Proton-like compatibility layers for Lutris";
|
||||
};
|
||||
|
||||
extraTools = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [];
|
||||
@@ -153,14 +156,27 @@ in {
|
||||
archon = {
|
||||
enable = lib.mkEnableOption "Archon from NUR";
|
||||
};
|
||||
|
||||
opengoal = {
|
||||
enable = lib.mkEnableOption "OpenGOAL, a game engine used in a certain PlayStation 2 franchise";
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
agl = cfg.aagl;
|
||||
nurPkgs = import "${nur.outPath}/pkgs" { inherit pkgs; };
|
||||
protonManager = {
|
||||
protonplus = pkgs.protonplus;
|
||||
protonup-qt = pkgs.protonup-qt;
|
||||
}.${cfg.proton.manager};
|
||||
in {
|
||||
programs.steam = lib.mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
gamescope
|
||||
gamemode
|
||||
];
|
||||
|
||||
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
||||
localNetworkGameTransfers.openFirewall = cfg.steam.firewall.localNetworkGameTransfers;
|
||||
};
|
||||
@@ -214,13 +230,10 @@ in {
|
||||
cfg.lutris.wine.package
|
||||
pkgs.winetricks
|
||||
]) ++
|
||||
(lib.optionals cfg.lutris.compatibility.protonSupport [
|
||||
pkgs.protonup-ng
|
||||
pkgs.protonup-qt
|
||||
]) ++
|
||||
cfg.lutris.compatibility.extraTools ++
|
||||
cfg.lutris.extraPackages
|
||||
)) ++
|
||||
(lib.optionals cfg.proton.enable [protonManager]) ++
|
||||
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
||||
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
||||
(lib.optionals cfg.vintage-story.enable [nurPkgs.vintage-story]) ++
|
||||
|
||||
Reference in New Issue
Block a user