Unverified Commit 662d635b authored by Lily Foster's avatar Lily Foster Committed by GitHub
Browse files

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

nixos/minipro: init
parents 72cdc142 cc46277b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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).
+29 −0
Original line number Diff line number Diff line
{ 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 ];
  };
}