2024-04-21 17:14:27 -04:00

71 lines
1.7 KiB
Nix

{ config, lib, pkgs, inputs, ...}:
let
cfg = config.nixfiles.packageSets.gaming;
is2311 = lib.strings.hasInfix "23.11" lib.version;
in
{
# oopsies this is for home-manager
# programs.mangohud.enable = lib.mkDefault true;
options.nixfiles.packageSets.gaming = {
enable = lib.mkEnableOption "gaming package set";
};
config = lib.mkIf cfg.enable {
# only needed on 23.11, increases closure size MASSIVELY
nixpkgs.overlays = lib.optional is2311 (_: _: {
# unstable steam has new buildFSHEnv which doesn't break on rebuild
steam = (import inputs.nixpkgs-unstable.outPath {config.allowUnfree = true; inherit (pkgs) system; }).steam;
})
# gamescope fix
++ [(final: prev: {
steam = prev.steam.override {
extraPkgs = pkgs: with pkgs; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
];
};
})];
programs.steam = {
enable = lib.mkDefault true;
gamescopeSession = {
enable = lib.mkDefault true;
};
};
programs.gamemode = {
enable = lib.mkDefault true;
enableRenice = lib.mkDefault true;
};
programs.gamescope = {
enable = lib.mkDefault true;
capSysNice = lib.mkDefault false;
};
virtualisation.waydroid.enable = lib.mkDefault true;
environment.systemPackages = with pkgs; [
protontricks
mangohud
goverlay
prismlauncher
glxinfo
vulkan-tools
legendary-gl
heroic
protonup-ng
protonup-qt
];
};
}