nixos/preload: init
[NixPkgs.git] / nixos / modules / hardware / steam-hardware.nix
blob07edf68703904293400134989684173af83a2a49
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
7   cfg = config.hardware.steam-hardware;
9 in
12   options.hardware.steam-hardware = {
13     enable = mkOption {
14       type = types.bool;
15       default = false;
16       description = lib.mdDoc "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive";
17     };
18   };
20   config = mkIf cfg.enable {
21     services.udev.packages = [
22       pkgs.steamPackages.steam
23     ];
25     # The uinput module needs to be loaded in order to trigger the udev rules
26     # defined in the steam package for setting permissions on /dev/uinput.
27     #
28     # If the udev rules are not triggered, some controllers won't work with
29     # steam.
30     boot.kernelModules = [ "uinput" ];
31   };