1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6 cfg = config.services.ratbagd;
7in
8{
9 ###### interface
10
11 options = {
12 services.ratbagd = {
13 enable = mkEnableOption "ratbagd for configuring gaming mice";
14
15 package = mkPackageOption pkgs "libratbag" { };
16 };
17 };
18
19 ###### implementation
20
21 config = mkIf cfg.enable {
22 # Give users access to the "ratbagctl" tool
23 environment.systemPackages = [ cfg.package ];
24
25 services.dbus.packages = [ cfg.package ];
26
27 systemd.packages = [ cfg.package ];
28 };
29}