54 lines
1.1 KiB
Nix
54 lines
1.1 KiB
Nix
![]() |
{ pkgs, config, lib, inputs, ... }:
|
||
|
|
||
|
let
|
||
|
cfg = config.my.desktop.gaming;
|
||
|
inherit (inputs) nix-gaming;
|
||
|
in {
|
||
|
imports = with nix-gaming.nixosModules; [
|
||
|
pipewireLowLatency
|
||
|
platformOptimizations
|
||
|
];
|
||
|
|
||
|
options.my.desktop.gaming = {
|
||
|
enable = lib.mkEnableOption null;
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
programs = {
|
||
|
steam = {
|
||
|
enable = true;
|
||
|
package = pkgs.steam.override {
|
||
|
extraEnv = {
|
||
|
MANGOHUD = true;
|
||
|
OBS_VKCAPTURE = true;
|
||
|
};
|
||
|
extraPkgs = pkgs: with pkgs; [
|
||
|
zstd
|
||
|
openssl
|
||
|
];
|
||
|
};
|
||
|
extraCompatPackages = with pkgs; [
|
||
|
proton-ge-bin
|
||
|
];
|
||
|
remotePlay.openFirewall = true;
|
||
|
platformOptimizations.enable = true;
|
||
|
};
|
||
|
|
||
|
gamemode = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
general = {
|
||
|
renice = 10;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services.pipewire.lowLatency.enable = true;
|
||
|
|
||
|
environment.systemPackages = [
|
||
|
nix-gaming.packages.${pkgs.stdenv.system}.umu-launcher
|
||
|
];
|
||
|
};
|
||
|
}
|