{ lib, config, pkgs, ... }:

with lib;

{
  options.roles.desktop = {
    enable = mkEnableOption "Enable the desktop role.";

    x11 = mkOption { type = types.bool; default = false; description = "Enable X11 support."; };
    wayland = mkOption { type = types.bool; default = false; description = "Enable Wayland support."; };
    kde = mkOption { type = types.bool; default = false; description = "Enable KDE."; };
    gaming = {
      enable = mkOption { type = types.bool; default = false; description = "Enable gaming support."; };
    };
    sddm = mkOption { type = types.bool; default = false; description = "Enable SDDM greeter."; };
  };

  imports = [
    ./x11.nix
    ./wayland.nix
    ./gaming.nix
    ./kde.nix
    ./programs.nix
    ./sddm.nix
  ];
}
