74 lines
1.7 KiB
Nix
74 lines
1.7 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.gamemode.enable = true;
|
|
users.users.djai.extraGroups = [ "gamemode" ];
|
|
|
|
# capSysNice would make glibc strip LD_PRELOAD from gamescope, breaking steam's overlay.
|
|
# '--rt' works through the rtprio limit below instead (see the gamescope patch on tuxcomp).
|
|
programs.gamescope = {
|
|
enable = true;
|
|
capSysNice = false;
|
|
};
|
|
|
|
security.pam.loginLimits = [
|
|
{
|
|
domain = "@users";
|
|
type = "-";
|
|
item = "rtprio";
|
|
value = "99";
|
|
}
|
|
{
|
|
domain = "@users";
|
|
type = "-";
|
|
item = "nice";
|
|
value = "-19";
|
|
}
|
|
];
|
|
|
|
# Wine 10+ uses the kernel's ntsync when /dev/ntsync exists; far cheaper
|
|
# than esync/fsync under thread contention.
|
|
boot.kernelModules = [ "ntsync" ];
|
|
|
|
users.users.djai.packages = with pkgs; [
|
|
desmume
|
|
eden
|
|
libretro.citra
|
|
prismlauncher
|
|
steam
|
|
steamguard-cli
|
|
winetricks
|
|
];
|
|
|
|
services.flatpak.packages = [
|
|
"org.vinegarhq.Sober"
|
|
];
|
|
|
|
# TODO: switch to home manager
|
|
# home-manager.users.djai =
|
|
# { config, ... }:
|
|
# {
|
|
# home.packages = with pkgs; [ ];
|
|
#
|
|
# xdg.desktopEntries.sims4 = {
|
|
# name = "The Sims 4";
|
|
# exec = ''xdg-open "PATHTOEXECHERE"'';
|
|
# icon = "${config.home.homeDirectory}/.icons/";
|
|
# categories = [ "Game" ];
|
|
# terminal = false;
|
|
# };
|
|
#
|
|
# # gamescope does fullscreen and scaling; setting content=game sets direct scnaout
|
|
# # requires this in hyprland config: render.direct_scanout = 2;
|
|
# wayland.windowManager.hyprland.settings.window_rule = [
|
|
# {
|
|
# match.class = "gamescope";
|
|
# fullscreen = true;
|
|
# content = "game";
|
|
# opaque = true;
|
|
# immediate = true;
|
|
# }
|
|
# ];
|
|
# };
|
|
}
|