{ config, lib, pkgs, inputs, ... }: { imports = [ inputs.nix-gaming.nixosModules.platformOptimizations ]; options.my.apps.gaming.enable = lib.mkEnableOption "enable"; config = lib.mkIf config.my.apps.gaming.enable { programs = { gamemode.enable = true; steam = { enable = true; gamescopeSession.enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; platformOptimizations.enable = true; }; }; users.users.jawz.packages = let polymc = pkgs.callPackage ../../pkgs/polymc/default.nix { }; citra-nightly = pkgs.callPackage ../../pkgs/citra/default.nix { branch = "nightly"; }; in (with pkgs; [ mangohud # fps & stats overlay lutris # games launcher & emulator hub cartridges # games launcher gamemode # optimizes linux to have better gaming performance heroic # install epic games protonup-qt # update proton-ge #minecraft # minecraft official launcher ns-usbloader # load games into my switch # grapejuice # roblox manager # emulators rpcs3 # ps3 emulator pcsx2 # ps2 emulator cemu # wii u emulator dolphin-emu # wii emulator snes9x-gtk # snes emulator ryujinx # switch emulator ]) ++ [ citra-nightly # 3Ds emulator polymc # minecraft launcher with mod support ]; }; }