{
  lib,
  config,
  pkgs,
  inputs,
  ...
}: let
  cfg = config.marleyos.programs.rofi;
  hasXorg = config.xsession.enable;
in {
  options.marleyos.programs.rofi.enable = lib.mkEnableOption "rofi";

  config = lib.mkIf (cfg.enable && hasXorg) {
    home.packages = with pkgs; [
      rofi
    ];

    marleyos.apps.launcher = {
      package = pkgs.rofi;
      command = "--show drun";
    };

    xdg.configFile."rofi".source = "${inputs.rofi-themes}/files";
  };
}