nixos-demo/software/steam.nix
2025-07-12 23:16:15 +02:00

57 lines
1.6 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf (config.beancloud.software.desktop) {
environment.systemPackages = with pkgs; [
(lib.mkIf config.beancloud.software.steam.enable steamcmd)
(lib.mkIf config.beancloud.software.steam.enable mangohud)
];
beancloud.software = {
games.enable = lib.mkIf config.beancloud.hardware.steamdeck true;
steam.enable = lib.mkIf config.beancloud.hardware.steamdeck true;
wine = lib.mkIf config.beancloud.hardware.steamdeck true;
};
beancloud.hardware.gpu.amd.enable = lib.mkIf config.beancloud.hardware.steamdeck true;
programs = {
steam = {
enable = lib.mkIf config.beancloud.software.steam.enable true;
gamescopeSession.enable = lib.mkIf config.beancloud.hardware.steamdeck true;
localNetworkGameTransfers.openFirewall = lib.mkIf config.beancloud.software.steam.enable true;
package = pkgs.steam.override {
extraPkgs =
pkgs: with pkgs; [
cairo
gtk3
libdecor
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib # Provides libstdc++.so.6
libkrb5
keyutils
];
};
};
gamescope = {
enable = lib.mkIf config.beancloud.software.steam.enable true;
capSysNice = true;
};
gamemode = {
enable = lib.mkIf config.beancloud.software.steam.enable true;
};
};
};
}