so much organization

This commit is contained in:
mjallen18
2025-06-29 14:50:34 -05:00
parent ca155505be
commit 532c97cf00
58 changed files with 354 additions and 992 deletions

69
modules/gaming/default.nix Executable file
View File

@@ -0,0 +1,69 @@
{ 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
];
};
};
};
}

7
modules/gaming/options.nix Executable file
View File

@@ -0,0 +1,7 @@
{ lib, ... }:
with lib;
{
options.share.gaming = {
enable = mkEnableOption "enable gaming stuffs";
};
}