dotfiles/modules/nixos/gaming/steam.nix

37 lines
1.1 KiB
Nix
Raw Permalink Normal View History

2022-05-22 23:43:46 +00:00
{ config, pkgs, lib, ... }: {
2022-04-26 01:54:53 +00:00
2022-12-21 21:18:03 +00:00
options.gaming.steam.enable = lib.mkEnableOption "Steam game launcher.";
2022-04-26 01:54:53 +00:00
2022-12-21 21:18:03 +00:00
config = lib.mkIf (config.gaming.steam.enable && pkgs.stdenv.isLinux) {
2022-04-26 01:54:53 +00:00
hardware.steam-hardware.enable = true;
2022-10-29 18:42:37 +00:00
unfreePackages = [ "steam" "steam-original" "steamcmd" "steam-run" ];
2022-05-28 14:34:00 +00:00
2023-03-06 04:03:34 +00:00
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
};
environment.systemPackages = with pkgs; [
2022-05-28 14:34:00 +00:00
# Enable terminal interaction
steamPackages.steamcmd
steam-tui
# Allow downloading of GE-Proton and other versions
protonup-qt
2022-05-28 14:34:00 +00:00
];
2023-03-06 04:03:34 +00:00
# Adapted in part from: https://github.com/Shawn8901/nix-configuration/blob/1c48be94238a9f463cf0bbd1e1842a4454286514/modules/nixos/steam-compat-tools/default.nix
# Based on: https://github.com/NixOS/nixpkgs/issues/73323
environment.sessionVariables.STEAM_EXTRA_COMPAT_TOOLS_PATHS =
lib.makeBinPath [ pkgs.proton-ge-custom ];
# Seems like NetworkManager can help speed up Steam launch
# https://www.reddit.com/r/archlinux/comments/qguhco/steam_startup_time_arch_1451_seconds_fedora_34/hi8opet/
networking.networkmanager.enable = true;
2022-04-26 01:54:53 +00:00
};
}