at 23.11-pre 897 B view raw
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}