diff options
| author | adikro <adikro@disroot.org> | 2025-12-20 03:14:45 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2025-12-20 03:14:45 +0100 |
| commit | 791bc419b6dac7c70951981ef6b34cdf85828470 (patch) | |
| tree | 56d0962fdf829ae942feb1344763e54dbc3c89a3 /sys/srv/gaming.nix | |
| parent | e60410393cea222b16743a1a87f29c06b9b3543b (diff) | |
absolutely massive rewrite, made (almost) everything modular with changes to come
Diffstat (limited to 'sys/srv/gaming.nix')
| -rw-r--r-- | sys/srv/gaming.nix | 50 |
1 files changed, 50 insertions, 0 deletions
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; + }; + }) + ]; +} |
