ft (wip): big initial config
This commit is contained in:
73
hosts/tuxcomp/gaming.nix
Normal file
73
hosts/tuxcomp/gaming.nix
Normal file
@@ -0,0 +1,73 @@
|
||||
{ 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
|
||||
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;
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
Reference in New Issue
Block a user