1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.streamdeck-ui;
10in
11{
12 options.programs.streamdeck-ui = {
13 enable = lib.mkEnableOption "streamdeck-ui";
14
15 autoStart = lib.mkOption {
16 default = true;
17 type = lib.types.bool;
18 description = "Whether streamdeck-ui should be started automatically.";
19 };
20
21 package = lib.mkPackageOption pkgs "streamdeck-ui" {
22 default = [ "streamdeck-ui" ];
23 };
24
25 };
26
27 config = lib.mkIf cfg.enable {
28 environment.systemPackages = [
29 cfg.package
30 (lib.mkIf cfg.autoStart (
31 pkgs.makeAutostartItem {
32 name = "streamdeck-ui-noui";
33 package = cfg.package;
34 }
35 ))
36 ];
37
38 services.udev.packages = [ cfg.package ];
39 };
40
41 meta.maintainers = with lib.maintainers; [ majiir ];
42}