diff options
author | Atemu <atemu.main@gmail.com> | 2023-03-28 17:25:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-28 17:25:14 +0200 |
commit | 91f5aa3446667aef9736d760b3c3229f696253c2 (patch) | |
tree | ccbf51b4f89d2c42168397ab19f334800f11a0fe /nixos | |
parent | 2e0bb26204da57996bfb25be3725ff51c65c5f60 (diff) | |
parent | 1f27e0b77a63fd243ab40dfce22edf106424faea (diff) |
Merge pull request #213378 from Atemu/steam-env-vars
steam: add extraEnv argument
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/programs/steam.nix | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 98269f6250dbf..fc63f0f187e87 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -9,23 +9,36 @@ in { enable = mkEnableOption (lib.mdDoc "steam"); package = mkOption { - type = types.package; - default = pkgs.steam.override { - extraLibraries = pkgs: with config.hardware.opengl; - if pkgs.stdenv.hostPlatform.is64bit - then [ package ] ++ extraPackages - else [ package32 ] ++ extraPackages32; - }; - defaultText = literalExpression '' - pkgs.steam.override { - extraLibraries = pkgs: with config.hardware.opengl; + type = types.package; + default = pkgs.steam; + defaultText = literalExpression "pkgs.steam"; + example = literalExpression '' + pkgs.steam-small.override { + extraEnv = { + MANGOHUD = true; + OBS_VKCAPTURE = true; + RADV_TEX_ANISO = 16; + }; + extraLibraries = p: with p; [ + atk + ]; + } + ''; + apply = steam: steam.override (prev: { + extraLibraries = pkgs: let + prevLibs = if prev ? extraLibraries then prev.extraLibraries pkgs else [ ]; + additionalLibs = with config.hardware.opengl; if pkgs.stdenv.hostPlatform.is64bit then [ package ] ++ extraPackages else [ package32 ] ++ extraPackages32; - } - ''; + in prevLibs ++ additionalLibs; + }); description = lib.mdDoc '' - steam package to use. + The Steam package to use. Additional libraries are added from the system + configuration to ensure graphics work properly. + + Use this option to customise the Steam package rather than adding your + custom Steam to {option}`environment.systemPackages` yourself. ''; }; |