2024-05-22 14:29:45 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
2024-07-22 22:46:11 +02:00
|
|
|
pkgs,
|
2024-05-22 14:29:45 +02:00
|
|
|
...
|
2025-03-02 19:11:27 +01:00
|
|
|
}: let
|
2025-04-09 14:46:33 +02:00
|
|
|
inherit (lib.modules) mkIf;
|
|
|
|
inherit (lib.options) mkEnableOption;
|
|
|
|
|
2024-08-16 13:40:52 +02:00
|
|
|
cfg = config.modules.system.programs.steam;
|
2024-04-17 15:56:45 +02:00
|
|
|
in {
|
2025-04-09 14:46:33 +02:00
|
|
|
options.modules.system.programs.steam.enable = mkEnableOption "Steam games platform";
|
2024-04-17 15:56:45 +02:00
|
|
|
config = mkIf cfg.enable {
|
|
|
|
programs.steam = {
|
2025-03-02 14:05:02 +01:00
|
|
|
enable = true;
|
2025-02-19 06:14:55 +01:00
|
|
|
package = pkgs.steam.override {
|
|
|
|
extraEnv = {
|
|
|
|
MANGOHUD = true;
|
|
|
|
SDL_VIDEODRIVER = "x11";
|
|
|
|
};
|
2024-11-01 15:54:20 +01:00
|
|
|
|
2025-02-19 06:14:55 +01:00
|
|
|
extraLibraries = p:
|
2025-03-02 19:11:27 +01:00
|
|
|
builtins.attrValues {
|
|
|
|
inherit (p) atk;
|
|
|
|
};
|
2025-02-19 06:14:55 +01:00
|
|
|
};
|
2025-03-02 19:11:27 +01:00
|
|
|
|
2024-08-16 13:40:52 +02:00
|
|
|
gamescopeSession.enable = true;
|
2024-10-21 21:29:07 +02:00
|
|
|
extraCompatPackages = [pkgs.proton-ge-bin.steamcompattool];
|
2024-04-17 15:56:45 +02:00
|
|
|
};
|
2024-08-09 16:09:22 +02:00
|
|
|
# See
|
|
|
|
# https://wiki.nixos.org/wiki/GameMode
|
2024-06-01 19:31:05 +02:00
|
|
|
programs.gamemode.enable = true;
|
2024-04-17 15:56:45 +02:00
|
|
|
};
|
|
|
|
}
|