Files
nix-config/share/gaming/default.nix
2025-05-30 10:39:27 -05:00

70 lines
1.6 KiB
Nix
Executable File

{ lib, config, pkgs, ... }:
let
cfg = config.share.gaming;
pkgsVersion = pkgs; #.unstable;
in
{
imports = [ ./options.nix ];
config = lib.mkIf cfg.enable {
# Network option required using sysctl to let Ubisoft Connect work as of 7-12-2023
boot.kernel.sysctl."net.ipv4.tcp_mtu_probing" = 1;
# Configure programs
programs.steam = {
enable = true;
# Open ports in the firewall for Steam Remote Play
remotePlay.openFirewall = true;
# Open ports in the firewall for Source Dedicated Server
dedicatedServer.openFirewall = true;
extraCompatPackages = with pkgsVersion; [ proton-ge-bin];
gamescopeSession = {
enable = true;
args = [
"-f"
"-H 2160"
"-W 3840"
"-r 240"
"--hdr-enabled"
"--adaptive-sync"
];
};
}; # "gamescope -f -H 2160 -W 3840 -r 240 --adaptive-sync --hdr-enabled
programs.alvr = {
enable = true;
openFirewall = true;
};
programs.gamemode.enable = true;
# Hardware configs
hardware = {
# Xbox controllers
xpadneo.enable = false;
# Steam udev rules for remote play
steam-hardware.enable = true;
};
# Configure nixpkgs
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override {
extraPkgs =
pkgs: with pkgsVersion; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
];
};
};
};
}