{
  lib,
  config,
  ...
}: let
  cfg = config.marleyos.bundles.desktop;

  inherit (lib.marleyos) enabled disabled;
in {
  options.marleyos.bundles.desktop.enable = lib.mkEnableOption "desktop";

  config = lib.mkIf cfg.enable {
    marleyos = {
      isDesktop = lib.mkDefault true;

      mounts = {
        automounts = enabled;
        babeshare = enabled;
      };

      appearance = {
        base = enabled;
      };

      programs = {
        cli = enabled;
        tui = enabled;
        gui = enabled;

        lutris = lib.mkForce disabled;
        steam = lib.mkForce disabled;
      };

      services = {
        docker = enabled;
        protonmail-bridge = enabled;
      };
    };
  };
}
