diff --git a/hosts/common/optional/gaming.nix b/hosts/common/optional/gaming.nix new file mode 100644 index 0000000..82adb7c --- /dev/null +++ b/hosts/common/optional/gaming.nix @@ -0,0 +1,61 @@ +{ pkgs, lib, ... }: +{ + # Gaming + hardware.xone.enable = true; + environment.systemPackages = with pkgs; [ + #Xbox controller + linuxKernel.packages.linux_zen.xone + + # Steam + mangohud + gamemode + gamescope + + # WINE + wine + winetricks + protontricks + vulkan-tools + + # Lutris + lutris + + # Extra dependencies + gnutls + openldap + libgpgerror + freetype + sqlite + libxml2 + xml2 + SDL2 + ]; + + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + # Add additional package names here + "steam" + "steam-original" + "steam-run" + ]; + + programs.steam = { + enable = true; + gamescopeSession.enable = true; + }; + + programs.gamemode.enable = true; + programs.gamescope.enable = true; + + nixpkgs.config.packageOverrides = pkgs: { + steam = pkgs.steam.override { + extraPkgs = pkgs: with pkgs; [ + pango + libthai + harfbuzz + gamemode + ]; + }; + }; + +} diff --git a/hosts/sparky/default.nix b/hosts/sparky/default.nix index f49b15e..a9b17ab 100644 --- a/hosts/sparky/default.nix +++ b/hosts/sparky/default.nix @@ -27,6 +27,7 @@ in # Import optional options ../common/optional/openssh.nix ../common/optional/persistence.nix + ../common/optional/gaming.nix ]; @@ -45,61 +46,14 @@ in enableIPv6 = false; }; - # Gaming - hardware.xone.enable = true; - environment.systemPackages = with pkgs; [ - #Xbox controller - linuxKernel.packages.linux_zen.xone - - # Steam - mangohud - gamemode - gamescope - - # WINE - wine - winetricks - protontricks - vulkan-tools - - # Extra dependencies - # https://github.com/lutris/docs/ - gnutls - openldap - libgpgerror - freetype - sqlite - libxml2 - xml2 - SDL2 - ]; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ # Add additional package names here "nvidia-x11" "nvidia-settings" "nvidia-persistenced" - "steam" - "steam-original" - "steam-run" ]; - programs.steam.enable = true; - programs.gamemode.enable = true; - programs.gamescope.enable = true; - programs.steam.gamescopeSession.enable = true; - nixpkgs.config.packageOverrides = pkgs: { - steam = pkgs.steam.override { - extraPkgs = pkgs: with pkgs; [ - pango - libthai - harfbuzz - gamemode - ]; - }; - }; - services.displayManager.defaultSession = "cinnamon"; services.libinput.enable = true;