2024-09-02 18:16:22 -07:00
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
2024-08-28 19:58:21 -07:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
ryujinx
|
2024-12-14 15:54:14 -08:00
|
|
|
mangohud
|
|
|
|
mangojuice
|
2024-08-28 19:58:21 -07:00
|
|
|
];
|
2024-08-03 18:51:57 -07:00
|
|
|
programs.steam = {
|
|
|
|
enable = true;
|
|
|
|
remotePlay.openFirewall = true;
|
|
|
|
dedicatedServer.openFirewall = true;
|
|
|
|
localNetworkGameTransfers.openFirewall = true;
|
|
|
|
gamescopeSession.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.gamescope.enable = true;
|
|
|
|
|
2024-12-14 15:54:14 -08:00
|
|
|
programs.gamemode = {
|
|
|
|
enable = true;
|
|
|
|
enableRenice = true;
|
|
|
|
settings = {
|
|
|
|
general = {
|
|
|
|
renice = 10;
|
|
|
|
};
|
|
|
|
custom = {
|
|
|
|
start = "${pkgs.libnotify}/bin/notify-send 'GameMode engaged'";
|
|
|
|
end = "${pkgs.libnotify}/bin/notify-send 'GameMode disengaged'";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
users.users.youwen.extraGroups = [ "gamemode" ];
|
|
|
|
|
2024-08-03 18:51:57 -07:00
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
|
|
steam = pkgs.steam.override {
|
2024-09-02 18:16:22 -07:00
|
|
|
extraPkgs =
|
|
|
|
pkgs: with pkgs; [
|
2024-08-03 18:51:57 -07:00
|
|
|
xorg.libXcursor
|
|
|
|
xorg.libXi
|
|
|
|
xorg.libXinerama
|
|
|
|
xorg.libXScrnSaver
|
|
|
|
libpng
|
|
|
|
libpulseaudio
|
|
|
|
libvorbis
|
|
|
|
stdenv.cc.cc.lib
|
|
|
|
libkrb5
|
2024-08-07 00:49:16 -07:00
|
|
|
(writeShellScriptBin "launch-gamescope" ''
|
|
|
|
(sleep 1; pgrep gamescope| xargs renice -n -11 -p)&
|
|
|
|
exec gamescope "$@"
|
|
|
|
'')
|
2024-08-03 18:51:57 -07:00
|
|
|
keyutils
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|