nixos/preload: init
[NixPkgs.git] / nixos / modules / services / hardware / joycond.nix
blobdf3239cb2a7df922ef4b8e9b6a5659c15fec8b60
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.services.joycond;
5 in
7 with lib;
10   options.services.joycond = {
11     enable = mkEnableOption (lib.mdDoc "support for Nintendo Pro Controllers and Joycons");
13     package = mkOption {
14       type = types.package;
15       default = pkgs.joycond;
16       defaultText = lib.literalExpression "pkgs.joycond";
17       description = lib.mdDoc ''
18         The joycond package to use.
19       '';
20     };
21   };
23   config = mkIf cfg.enable {
24     environment.systemPackages = [ cfg.package ];
26     services.udev.packages = [ cfg.package ];
28     systemd.packages = [ cfg.package ];
30     # Workaround for https://github.com/NixOS/nixpkgs/issues/81138
31     systemd.services.joycond.wantedBy = [ "multi-user.target" ];
32   };