Compare commits

...

2 Commits

Author SHA1 Message Date
cdbb5f913d add gaming 2025-11-05 19:09:55 -06:00
e329c17546 add gaming 2025-11-05 19:05:56 -06:00
7 changed files with 116 additions and 0 deletions

View File

@@ -32,6 +32,14 @@
greetd.enable = true;
};
gaming = {
steam.enable = true;
lutris.enable = true;
proton_ge.enable = true;
gamemode.enable = true;
mangohud.enable = true;
};
# fix power buttons
services.logind.settings.Login = {
HandlePowerKey = "suspend";

View File

@@ -5,5 +5,10 @@
...
}: {
imports = [
./steam
./lutris
./proton_ge
./gamemode
./mangohud
];
}

View File

@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.gaming.gamemode;
in {
options.gaming.gamemode = {
enable = lib.mkEnableOption "enable lutris";
};
config = lib.mkIf cfg.enable {
# enable gamemode for game optimizations
# requires setting launch option `gamemoderun %command%`
programs.gamemode.enable = true;
};
}

View File

@@ -0,0 +1,18 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.gaming.lutris;
in {
options.gaming.lutris = {
enable = lib.mkEnableOption "enable lutris";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
lutris
];
};
}

View File

@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.gaming.mangohud;
in {
options.gaming.mangohud = {
enable = lib.mkEnableOption "enable lutris";
};
config = lib.mkIf cfg.enable {
# preformance overlay
# requires setting launch option `mangohud %command%`
environment.systemPackages = with pkgs; [
mangohud
];
};
}

View File

@@ -0,0 +1,24 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.gaming.proton_ge;
in {
options.gaming.proton_ge = {
enable = lib.mkEnableOption "enable proton ge";
};
# this is an imperitive install after rebuild run `protonup`
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
protonup-ng
];
# tells `protonup` what path to use
environment.sessionVariables = {
STEAM_EXTRA_COMPACT_TOOLS_PATHS = "/home/blake/.steam/root/compatibilitytools.d";
};
};
}

View File

@@ -0,0 +1,21 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.gaming.steam;
in {
options.gaming.steam = {
enable = lib.mkEnableOption "enable steam";
};
config = lib.mkIf cfg.enable {
programs.steam = {
enable = true;
gamescopeSession.enable = true; # requires setting launch option `gamescope %command%`
remotePlay.openFirewall = true; # open ports for remote play
#dedicatedServer.openFirewall = true; # open ports for source dedicated server
};
};
}