nixos/minipro: init

Minipro requires a set of udev rules to be installed to work properly.
This module installs the package and the udev rules.
This commit is contained in:
Infinidoge 2023-03-27 17:04:00 -04:00
parent cd07e0258c
commit cc46277bf5
2 changed files with 31 additions and 0 deletions

View file

@ -47,6 +47,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [hyprland](https://github.com/hyprwm/hyprland), a dynamic tiling Wayland compositor that doesn't sacrifice on its looks. Available as [programs.hyprland](#opt-programs.hyprland.enable).
- [minipro](https://gitlab.com/DavidGriffith/minipro/), an open source program for controlling the MiniPRO TL866xx series of chip programmers. Available as [programs.minipro](options.html#opt-programs.minipro.enable).
- [stevenblack-blocklist](https://github.com/StevenBlack/hosts), A unified hosts file with base extensions for blocking unwanted websites. Available as [networking.stevenblack](options.html#opt-networking.stevenblack.enable).
- [Budgie Desktop](https://github.com/BuddiesOfBudgie/budgie-desktop), a familiar, modern desktop environment. Availabe as [services.xserver.desktopManager.budgie](options.html#opt-services.xserver.desktopManager.budgie).

View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.minipro;
in
{
options = {
programs.minipro = {
enable = lib.mkEnableOption (lib.mdDoc "minipro") // {
description = lib.mdDoc ''
Installs minipro and its udev rules.
Users of the `plugdev` group can interact with connected MiniPRO chip programmers.
'';
};
package = lib.mkPackageOptionMD pkgs "minipro" { };
};
};
config = lib.mkIf cfg.enable {
users.groups.plugdev = { };
environment.systemPackages = [ cfg.package ];
services.udev.packages = [ cfg.package ];
};
meta = {
maintainers = with lib.maintainers; [ infinidoge ];
};
}