nixos/roles/gaming.nix
Ivan Bushchik f9d23bbb12
Add DoT, networkd
Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
2023-08-23 10:36:32 +03:00

27 lines
936 B
Nix

{ config, pkgs, lib, ... }:
let
cfg = config.my.roles.gaming;
in {
options.my.roles.gaming.enable = lib.mkEnableOption "Enable wine & steam";
config = lib.mkIf (cfg.enable) ( lib.mkMerge [{
nixpkgs.config.allowUnfree = true;
hardware.opengl.driSupport32Bit = true;
services.pipewire.alsa.support32Bit = true;
environment.systemPackages = with pkgs; [
wineWowPackages.stable
wine
(wine.override { wineBuild = "wine64"; })
wineWowPackages.staging
winetricks
wineWowPackages.waylandFull
];
}
# Enable steam only on x86_64 (since I have hosts with ARM, but I don't think I will enable my.roles.gaming on ARM system soon)
(lib.mkIf(pkgs.stdenv.isx86_64) {
programs.steam.enable = true; # Firewall ports used by Steam in-home streaming.
networking.firewall.allowedTCPPorts = [ 27036 27037 ];
networking.firewall.allowedUDPPorts = [ 27031 27036 ];
})
]);
}