1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.minipro;
10in
11{
12 options = {
13 programs.minipro = {
14 enable = lib.mkEnableOption "minipro" // {
15 description = ''
16 Whether to enable minipro and its udev rules.
17 Users of the `plugdev` group can interact with connected MiniPRO chip programmers.
18 '';
19 };
20
21 package = lib.mkPackageOption pkgs "minipro" { };
22 };
23 };
24
25 config = lib.mkIf cfg.enable {
26 users.groups.plugdev = { };
27 environment.systemPackages = [ cfg.package ];
28 services.udev.packages = [ cfg.package ];
29 };
30
31 meta = {
32 maintainers = with lib.maintainers; [ infinidoge ];
33 };
34}