build-support/vm: don't depend on the "unix" module (#375355)
[NixPkgs.git] / nixos / modules / services / hardware / g810-led.nix
blobd8918b64a6f0a76f2f38b9dfcca859725f487c09
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
7 let
8   cfg = config.services.g810-led;
9 in
11   options = {
12     services.g810-led = {
13       enable = lib.mkEnableOption "g810-led, a Linux LED controller for some Logitech G Keyboards";
15       package = lib.mkPackageOption pkgs "g810-led" { };
17       profile = lib.mkOption {
18         type = lib.types.nullOr lib.types.lines;
19         default = null;
20         example = ''
21           # G810-LED Profile (turn all keys on)
23           # Set all keys on
24           a ffffff
26           # Commit changes
27           c
28         '';
29         description = ''
30           Keyboard profile to apply at boot time.
32           The upstream repository provides [example configurations](https://github.com/MatMoul/g810-led/tree/master/sample_profiles).
33         '';
34       };
35     };
36   };
38   config = lib.mkIf cfg.enable {
39     environment.etc."g810-led/profile".text = lib.mkIf (cfg.profile != null) cfg.profile;
41     services.udev.packages = [ cfg.package ];
42   };
44   meta.maintainers = with lib.maintainers; [ GaetanLepage ];