2023-03-11 03:39:06 +01:00
|
|
|
{ config, pkgs, lib, ... }:
|
2024-10-30 23:18:53 +01:00
|
|
|
lib.mkMerge [
|
2023-03-11 03:39:06 +01:00
|
|
|
{
|
|
|
|
programs.steam.enable = true;
|
|
|
|
programs.steam.remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
|
|
|
programs.steam.dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
|
|
|
2024-10-02 09:16:03 +02:00
|
|
|
# TODO: gamescope?
|
2023-03-19 04:23:38 +01:00
|
|
|
# TODO: gamemode?
|
|
|
|
|
2023-03-11 03:39:06 +01:00
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
|
|
"steam"
|
|
|
|
"steam-original"
|
|
|
|
"steam-runtime"
|
|
|
|
];
|
|
|
|
|
2023-06-11 14:26:19 +02:00
|
|
|
/** /
|
2023-03-11 03:39:06 +01:00
|
|
|
#programs.java.enable = true;
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
|
|
steam = pkgs.steam.override {
|
2023-06-11 14:26:19 +02:00
|
|
|
#withPrimus = config.hardware.nvidia.modesetting.enable;
|
|
|
|
#withJava = config.programs.java.enable;
|
|
|
|
|
2023-03-11 16:22:18 +01:00
|
|
|
#nativeOnly = true;
|
|
|
|
#newStdcpp = true;
|
|
|
|
#extraProfile = "export SDL_VIDEODRIVER=x11";
|
2023-03-11 03:39:06 +01:00
|
|
|
extraPkgs = pkgs: with pkgs; [
|
2023-03-11 16:22:18 +01:00
|
|
|
config.hardware.opengl.package
|
|
|
|
nettools # some scripts expect 'hostname'
|
|
|
|
glxinfo # for debugging
|
|
|
|
|
|
|
|
pipewire
|
|
|
|
|
2023-03-11 03:39:06 +01:00
|
|
|
libgdiplus
|
2023-03-11 16:22:18 +01:00
|
|
|
libpng
|
|
|
|
libpulseaudio
|
|
|
|
libvorbis
|
|
|
|
libbsd
|
|
|
|
gnutls
|
|
|
|
|
|
|
|
zlib
|
|
|
|
mono
|
|
|
|
cairo
|
|
|
|
pango
|
|
|
|
cabextract
|
|
|
|
|
|
|
|
lsb-release
|
|
|
|
fontconfig
|
|
|
|
gdk-pixbuf
|
|
|
|
gtk3
|
|
|
|
gtk3-x11
|
|
|
|
|
|
|
|
xorg.libXcursor
|
|
|
|
xorg.libXi
|
|
|
|
xorg.libXinerama
|
|
|
|
xorg.libXScrnSaver
|
|
|
|
xorg.libxcb
|
|
|
|
|
|
|
|
stdenv.cc.cc.lib
|
|
|
|
#libkrb5
|
|
|
|
#keyutils
|
|
|
|
];
|
2023-03-11 03:39:06 +01:00
|
|
|
};
|
|
|
|
};
|
2023-06-11 14:26:19 +02:00
|
|
|
/**/
|
2023-03-11 03:39:06 +01:00
|
|
|
|
2023-03-11 16:22:18 +01:00
|
|
|
#services.joycond.enable = true;
|
|
|
|
|
|
|
|
hardware.opengl.enable = true;
|
2024-10-30 23:18:53 +01:00
|
|
|
}
|
|
|
|
(lib.optionalAttrs (lib.versionOlder (lib.versions.majorMinor lib.version) "24.11") {
|
|
|
|
hardware.opengl.driSupport = true;
|
|
|
|
})
|
|
|
|
{
|
2023-03-11 16:22:18 +01:00
|
|
|
hardware.opengl.driSupport32Bit = true;
|
|
|
|
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
|
|
|
|
2023-03-11 03:39:06 +01:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
steam-tui
|
|
|
|
steamcmd
|
2024-03-13 23:35:32 +01:00
|
|
|
#winetricks
|
|
|
|
#protontricks
|
2024-03-02 15:33:04 +01:00
|
|
|
|
2024-03-13 23:35:32 +01:00
|
|
|
wineWowPackages.full
|
|
|
|
#wineWowPackages.waylandFull
|
|
|
|
|
|
|
|
# nice to have
|
|
|
|
jstest-gtk
|
2024-09-27 11:13:26 +02:00
|
|
|
antimicrox
|
2024-10-02 09:16:03 +02:00
|
|
|
|
|
|
|
# since gnome doesn't let me select the provided [Desktop Action BigPicture]
|
|
|
|
# in the overview without right clicking /shrug
|
|
|
|
(makeDesktopItem {
|
|
|
|
desktopName = "Steam Big Picture";
|
|
|
|
name = "Steam";
|
|
|
|
exec = "steam steam://open/bigpicture";
|
|
|
|
icon = "steam";
|
|
|
|
})
|
2023-03-11 03:39:06 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
}
|
2024-10-30 23:18:53 +01:00
|
|
|
]
|