progress in multi user config

This commit is contained in:
Chris Kruining 2025-03-18 16:43:07 +01:00
parent f7891e1f30
commit 3a2f52f45e
No known key found for this signature in database
GPG key ID: EB894A3560CCCAD2
68 changed files with 384 additions and 663 deletions

View file

@ -0,0 +1,57 @@
{ options, config, lib, pkgs, user, ... }:
let
inherit (lib.modules) mkIf mkForce mkMerge;
cfg = config.modules.${user}.desktop.applications.steam;
desktop = config.modules.${user}.desktop;
in
{
options.modules.${user}.desktop.applications.steam = let
inherit (lib.options) mkEnableOption;
in {
enable = mkEnableOption "Enable steam, the game/software store";
hardware.enable = mkEnableOption "Support for steam hardware";
};
config = mkIf cfg.enable (mkMerge [
{
programs.steam = {
enable = true;
package = pkgs.steam-small.override {
extraEnv = {
DXVK_HUD = "compiler";
MANGOHUD = true;
};
};
};
hardware.steam-hardware.enable = mkForce cfg.hardware.enable;
# https://github.com/FeralInteractive/gamemode
programs.gamemode = {
enable = true;
enableRenice = true;
settings = {};
};
}
(mkIf (desktop.type == "wayland") {
# https://github.com/ValveSoftware/gamescope
programs.gamescope = {
enable = true;
capSysNice = true;
env = {
DXVK_HDR = "1";
ENABLE_GAMESCOPE_WSI = "1";
WINE_FULLSCREEN_FSR = "1";
WLR_RENDERER = "vulkan";
};
args = ["--hdr-enabled"];
};
programs.steam.gamescopeSession = {
enable = true;
args = ["--immediate-flips"];
};
})
]);
}