nix-dotfiles/modules/software/distractions/steam.nix
2024-04-27 15:51:56 -07:00

39 lines
No EOL
1 KiB
Nix

{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.modules.software.distractions.steam;
in {
options.modules.software.distractions.steam = {
enable = mkEnableOption "Enable Steam, the game distribution software";
};
config = mkIf cfg.enable {
programs.steam.enable = true;
# optimize linux system performance on demand
# https://github.com/FeralInteractive/gamemode
user.extraGroups = [ "gamemode" ];
programs.gamemode = {
enable = true;
enableRenice = true;
settings = {
custom = {
start = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode ended'";
};
};
};
programs.gamescope = {
enable = true;
capSysNice = true;
};
programs.steam.gamescopeSession = {
enable = true;
args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ];
};
user.packages = [ pkgs.protontricks pkgs.steam-run ];
};
}