aboutsummaryrefslogtreecommitdiff
path: root/modules/programs/steam.nix
blob: 74ef844735d64d3dcdf0656501033c5f8061fe48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  flake.modules.nixos.steam =
    {
      pkgs,
      ...
    }:
    {
      programs.steam = {
        enable = true;
        protontricks.enable = true;
        gamescopeSession.enable = true;
        extraCompatPackages = [ pkgs.proton-ge-bin ];
      };
      # Ignore the DualSense touchpad in libinput to prevent it from acting as a mouse
      services.udev.extraRules = ''
        ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="DualSense Wireless Controller", ENV{LIBINPUT_IGNORE_DEVICE}="1"
        ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="DualSense Wireless Controller Motion Sensors", ENV{LIBINPUT_IGNORE_DEVICE}="1"
        ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="DualSense Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"
      '';
    };
}