1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6 cfg = config.programs.dmrconfig;
7
8in {
9 meta.maintainers = with maintainers; [ ];
10
11 ###### interface
12 options = {
13 programs.dmrconfig = {
14 enable = mkOption {
15 default = false;
16 type = types.bool;
17 description = lib.mdDoc ''
18 Whether to configure system to enable use of dmrconfig. This
19 enables the required udev rules and installs the program.
20 '';
21 relatedPackages = [ "dmrconfig" ];
22 };
23
24 package = mkOption {
25 default = pkgs.dmrconfig;
26 type = types.package;
27 defaultText = literalExpression "pkgs.dmrconfig";
28 description = lib.mdDoc "dmrconfig derivation to use";
29 };
30 };
31 };
32
33 ###### implementation
34 config = mkIf cfg.enable {
35 environment.systemPackages = [ cfg.package ];
36 services.udev.packages = [ cfg.package ];
37 };
38}