From 791bc419b6dac7c70951981ef6b34cdf85828470 Mon Sep 17 00:00:00 2001 From: adikro Date: Sat, 20 Dec 2025 03:14:45 +0100 Subject: absolutely massive rewrite, made (almost) everything modular with changes to come --- sys/srv/gaming.nix | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 sys/srv/gaming.nix (limited to 'sys/srv/gaming.nix') diff --git a/sys/srv/gaming.nix b/sys/srv/gaming.nix new file mode 100644 index 0000000..1eb5472 --- /dev/null +++ b/sys/srv/gaming.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, username, ... }: +let + cfg = config.szpont.sys.srv.gaming; +in +{ + options.szpont.sys.srv.gaming = { + enable = lib.mkEnableOption "enables gaming stuff"; + steam.enable = lib.mkEnableOption "enables steam stuff"; + vr.enable = lib.mkEnableOption "enables vr support"; + }; + + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + home-manager.users.${username}.szpont.hm.soft.gaming.enable = true; + programs.gamescope.enable = true; + + programs.gamemode = { + enable = true; + enableRenice = true; + }; + + environment.systemPackages = with pkgs; [ + heroic + prismlauncher + ]; + }) + + (lib.mkIf cfg.steam.enable { + programs.steam = { + enable = true; + localNetworkGameTransfers.openFirewall = true; + dedicatedServer.openFirewall = true; + remotePlay.openFirewall = false; + extest.enable = true; + protontricks.enable = true; + + extraCompatPackages = with pkgs; [ + proton-ge-custom + ]; + }; + }) + + (lib.mkIf cfg.vr.enable { + programs.alvr = { + enable = true; + openFirewall = true; + }; + }) + ]; +} -- cgit v1.3