From 512483106110b5f9209bb03238d44b991fe15d22 Mon Sep 17 00:00:00 2001 From: adikro Date: Thu, 12 Feb 2026 23:04:24 +0100 Subject: thinkpad configuration finalization --- os/srv/gaming.nix | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) (limited to 'os/srv/gaming.nix') diff --git a/os/srv/gaming.nix b/os/srv/gaming.nix index f0ff771..912a252 100644 --- a/os/srv/gaming.nix +++ b/os/srv/gaming.nix @@ -10,12 +10,22 @@ let in { options.os.srv.gaming = { - enable = lib.mkEnableOption "enables gaming utilities"; + enable = lib.mkEnableOption "enables general gaming support"; + + tools.enable = lib.mkEnableOption "enables performance tools" // { + default = cfg.enable; + }; + launchers.enable = lib.mkEnableOption "enables 3rd party launchers" // { + default = cfg.enable; + }; + games.enable = lib.mkEnableOption "enables specific native games"; steam.enable = lib.mkEnableOption "enables steam utilities"; vr.enable = lib.mkEnableOption "enables vr support"; }; + config = lib.mkMerge [ - (lib.mkIf cfg.enable { + # --- PERFORMANCE & TOOLING --- + (lib.mkIf cfg.tools.enable { programs.gamescope = { enable = true; capSysNice = true; @@ -26,23 +36,34 @@ in enableRenice = true; }; + home-manager.users.${username}.hm.soft.mangohud.enable = true; + environment.systemPackages = with pkgs; [ - openttd-jgrpp ludusavi protonplus - openmw + ]; + }) + + # --- EXTERNAL LAUNCHERS --- + (lib.mkIf cfg.launchers.enable { + environment.systemPackages = with pkgs; [ heroic (prismlauncher.override { - additionalLibs = with pkgs; [ - ocl-icd - ]; + additionalLibs = with pkgs; [ ocl-icd ]; jdks = with pkgs; [ javaPackages.compiler.temurin-bin.jdk-25 ]; }) ]; + }) - home-manager.users.${username}.hm.soft.mangohud.enable = true; + # --- SPECIFIC GAMES --- + (lib.mkIf cfg.games.enable { + environment.systemPackages = with pkgs; [ + openttd-jgrpp + openmw + ]; }) + # --- STEAM --- (lib.mkIf cfg.steam.enable { programs.steam = { enable = true; @@ -58,6 +79,7 @@ in }; }) + # --- VR SUPPORT --- (lib.mkIf cfg.vr.enable { programs.alvr = { enable = true; -- cgit v1.3