{ config, lib, pkgs, ... }: let cfg = config.programs.pulseview; in { options.programs.pulseview = { enable = lib.mkEnableOption "pulseview, a sigrok GUI"; }; config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.pulseview ]; services.udev = { packages = [ # Pulseview needs some udev rules provided by libsigrok to access devices pkgs.libsigrok ]; }; }; }