2022-07-08 12:49:09 -04:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.programs.streamdeck-ui;
|
2022-11-12 14:14:21 +01:00
|
|
|
in
|
|
|
|
{
|
2022-07-08 12:49:09 -04:00
|
|
|
options.programs.streamdeck-ui = {
|
2024-04-17 14:37:58 +03:00
|
|
|
enable = lib.mkEnableOption "streamdeck-ui";
|
2022-07-08 12:49:09 -04:00
|
|
|
|
2024-04-17 14:37:58 +03:00
|
|
|
autoStart = lib.mkOption {
|
2022-07-08 12:49:09 -04:00
|
|
|
default = true;
|
2024-04-17 14:37:58 +03:00
|
|
|
type = lib.types.bool;
|
2022-07-08 12:49:09 -04:00
|
|
|
description = "Whether streamdeck-ui should be started automatically.";
|
|
|
|
};
|
2022-11-12 14:14:21 +01:00
|
|
|
|
2024-04-17 14:37:58 +03:00
|
|
|
package = lib.mkPackageOption pkgs "streamdeck-ui" {
|
2022-11-12 14:14:21 +01:00
|
|
|
default = [ "streamdeck-ui" ];
|
|
|
|
};
|
|
|
|
|
2022-07-08 12:49:09 -04:00
|
|
|
};
|
|
|
|
|
2024-04-17 14:37:58 +03:00
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
environment.systemPackages = [
|
2022-11-12 14:14:21 +01:00
|
|
|
cfg.package
|
2024-04-17 14:37:58 +03:00
|
|
|
(lib.mkIf cfg.autoStart (
|
|
|
|
pkgs.makeAutostartItem {
|
|
|
|
name = "streamdeck-ui-noui";
|
|
|
|
package = cfg.package;
|
|
|
|
}
|
|
|
|
))
|
2022-07-08 12:49:09 -04:00
|
|
|
];
|
|
|
|
|
2022-11-12 14:14:21 +01:00
|
|
|
services.udev.packages = [ cfg.package ];
|
2022-07-08 12:49:09 -04:00
|
|
|
};
|
|
|
|
|
2024-04-17 14:37:58 +03:00
|
|
|
meta.maintainers = with lib.maintainers; [ majiir ];
|
2022-07-08 12:49:09 -04:00
|
|
|
}
|