Merge pull request #223447 from Infinidoge/feat/nixos/minipro

nixos/minipro: init

authored by

Lily Foster and committed by
GitHub
662d635b 72cdc142

+31
+2
nixos/doc/manual/release-notes/rl-2305.section.md
··· 47 47 48 48 - [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). 49 49 50 + - [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). 51 + 50 52 - [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). 51 53 52 54 - [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).
+29
nixos/modules/programs/minipro.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.programs.minipro; 5 + in 6 + { 7 + options = { 8 + programs.minipro = { 9 + enable = lib.mkEnableOption (lib.mdDoc "minipro") // { 10 + description = lib.mdDoc '' 11 + Installs minipro and its udev rules. 12 + Users of the `plugdev` group can interact with connected MiniPRO chip programmers. 13 + ''; 14 + }; 15 + 16 + package = lib.mkPackageOptionMD pkgs "minipro" { }; 17 + }; 18 + }; 19 + 20 + config = lib.mkIf cfg.enable { 21 + users.groups.plugdev = { }; 22 + environment.systemPackages = [ cfg.package ]; 23 + services.udev.packages = [ cfg.package ]; 24 + }; 25 + 26 + meta = { 27 + maintainers = with lib.maintainers; [ infinidoge ]; 28 + }; 29 + }