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;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|