1{
2 pkgs,
3 lib,
4 config,
5 ...
6}:
7
8let
9 cfg = config.programs.feedbackd;
10in
11{
12 options = {
13 programs.feedbackd = {
14 enable = lib.mkEnableOption ''
15 the feedbackd D-BUS service and udev rules.
16
17 Your user needs to be in the `feedbackd` group to trigger effects
18 '';
19 package = lib.mkPackageOption pkgs "feedbackd" { };
20 };
21 };
22 config = lib.mkIf cfg.enable {
23 environment.systemPackages = [ cfg.package ];
24
25 services.dbus.packages = [ cfg.package ];
26 services.udev.packages = [ cfg.package ];
27
28 # TODO: also enable systemd unit fbd-alert-slider for OnePlus 6/6T devices, see release notes of feedbackd v0.5.0
29
30 users.groups.feedbackd = { };
31 };
32}