{
  pkgs,
  config,
  lib,
  osConfig,
  ...
}:
let
  conf = "${config.home.homeDirectory}/.config/rofi";
in
lib.mkIf config.programs.rofi.enable {
  programs.rofi = {
    package = pkgs.rofi-wayland;
    theme = "${conf}/themes/rounded-gray-dark.rasi";
    terminal = lib.my.getExe osConfig.modules.system.roles.desktop.terminal;
    extraConfig = {
      modes = [
        "combi"
        "filebrowser"
        "ssh"
        "drun"
        "run"
        "clipboard:${lib.my.getExe' pkgs.cliphist "cliphist-rofi-img"}"
      ];
      matching = "fuzzy";
      sort = true;
      sorting-method = "fzf";
      show-icons = true;
      steal-focus = true;
      drun-use-desktop-cache = true;
      drun-reload-desktop-cache = true;
      combi-modes = [
        "window"
        "drun"
        "obsidian"
      ];
    };
  };
}
