57 lines
1.6 KiB
Nix
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;
|
|
};
|
|
};
|
|
};
|
|
}
|