39 lines
1 KiB
Nix
39 lines
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 ];
|
|
};
|
|
}
|