NixOS/modules/apps/gaming.nix
2024-11-15 12:22:24 -06:00

55 lines
1.5 KiB
Nix

{
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
packages = builtins.attrValues {
inherit (pkgs)
shipwright # zelda OoT port
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
ns-usbloader # load games into my switch
# minecraft # minecraft official launcher
# emulators
rpcs3 # ps3
pcsx2 # ps2
cemu # wii u
dolphin-emu # wii
snes9x-gtk # snes
ryujinx # switch
;
};
customPackages = [
# minecraft launcher
(pkgs.callPackage ../../pkgs/polymc/default.nix { })
# 3Ds emulator
(pkgs.callPackage ../../pkgs/citra/default.nix { branch = "nightly"; })
];
in
packages ++ customPackages;
};
}