9da5f12ecf
another transitional option factory, like mkAliasOptionModuleMD.
35 lines
763 B
Nix
35 lines
763 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.programs.streamdeck-ui;
|
|
in
|
|
{
|
|
options.programs.streamdeck-ui = {
|
|
enable = mkEnableOption (lib.mdDoc "streamdeck-ui");
|
|
|
|
autoStart = mkOption {
|
|
default = true;
|
|
type = types.bool;
|
|
description = lib.mdDoc "Whether streamdeck-ui should be started automatically.";
|
|
};
|
|
|
|
package = mkPackageOptionMD pkgs "streamdeck-ui" {
|
|
default = [ "streamdeck-ui" ];
|
|
};
|
|
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = with pkgs; [
|
|
cfg.package
|
|
(mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui"; package = cfg.package; }))
|
|
];
|
|
|
|
services.udev.packages = [ cfg.package ];
|
|
};
|
|
|
|
meta.maintainers = with maintainers; [ majiir ];
|
|
}
|