all repos — nixfiles @ 792f77ec262ba50427daf578f73c3efef11474b6

System and user configuration, managed by nix and home-manager

system/settings/gaming.nix (view raw)

{
  pkgs,
  ...
}:
{
  security.rtkit.enable = true;
  nixpkgs.config.permittedInsecurePackages = [
    "openssl-1.1.1w"
  ];
  programs.steam = {
    enable = true;
    package = pkgs.steam.override {
      extraLibraries =
        p: with p; [
          atk
          libcef
          openssl_1_1
          openssl
          sdl2-compat
          curl
        ];
    };
    extraPackages = with pkgs; [
      gamescope
      libcef
      openssl_1_1
      openssl
      sdl2-compat
      curl
    ];
    extraCompatPackages = with pkgs; [
      proton-ge-bin
    ];
    remotePlay.openFirewall = true;
    localNetworkGameTransfers.openFirewall = true;
    protontricks.enable = true;
  };
  programs.gamemode = {
    enable = true;
    settings = {
      general = {
        renice = 5;
      };

      custom = {
        start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
        end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
      };
    };
  };
  fonts.fontconfig.cache32Bit = true;
  hardware.steam-hardware.enable = true;
  hardware.graphics.enable = true;

  systemd = {
    settings.Manager = {
      DefaultLimitNOFILE = 524288;
    };
    user.extraConfig = ''
      DefaultLimitNOFILE=524288
    '';
  };

  environment.systemPackages = with pkgs; [
    ludusavi
  ];

  services.ananicy = {
    enable = true;
  };

  networking.firewall = {
    allowedUDPPorts = [
      27031
      27036
    ];
    allowedTCPPorts = [
      27036
      27037
    ];
  };
}