{ config, pkgs, ... }:
{
  programs.rofi = {
    enable = config.settings.desktop-environments.hyprland.enable;
    package = pkgs.rofi-wayland;
    # theme = let
    #   inherit (config.lib.formats.rasi) mkLiteral;
    # in {
    #   "*" = {
    #     background-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #     foreground-color = mkLiteral "#${config.colorScheme.palette.base05}";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base07}";
    #     border-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #   };
    #   # Holds the entire window
    #   "#window" = {
    #     transparency = "real";
    #     background-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base07}";
    #     border = mkLiteral "0px";
    #     border-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #     border-radius = mkLiteral "4px";
    #     width = mkLiteral "850px";
    #     padding = mkLiteral "8px";
    #   };

    #   # Wrapper around bar and results
    #   "#mainbox" = {
    #     background-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #     border = mkLiteral "0px";
    #     border-radius = mkLiteral "0px";
    #     border-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #     children = map mkLiteral [ "inputbar" "message" "listview" ];
    #     spacing = mkLiteral "10px";
    #     padding = mkLiteral "10px";
    #   };

    #   # Unknown
    #   "#textbox-prompt-colon" = {
    #     expand = false;
    #     str = ":";
    #     margin = mkLiteral "0px 0.3em 0em 0em";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base07}";
    #   };

    #   # Command prompt left of the input
    #   "#prompt" = { enabled = false; };

    #   # Actual text box
    #   "#entry" = {
    #     placeholder-color = mkLiteral "#${config.colorScheme.palette.base03}";
    #     expand = true;
    #     horizontal-align = "0";
    #     placeholder = "";
    #     padding = mkLiteral "0px 0px 0px 5px";
    #     blink = true;
    #   };

    #   # Top bar
    #   "#inputbar" = {
    #     children = map mkLiteral [ "prompt" "entry" ];
    #     border = mkLiteral "1px";
    #     border-radius = mkLiteral "4px";
    #     padding = mkLiteral "6px";
    #   };

    #   # Results
    #   "#listview" = {
    #     background-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #     padding = mkLiteral "0px";
    #     columns = 1;
    #     lines = 12;
    #     spacing = "5px";
    #     cycle = true;
    #     dynamic = true;
    #     layout = "vertical";
    #   };

    #   # Each result
    #   "#element" = {
    #     orientation = "vertical";
    #     border-radius = mkLiteral "0px";
    #     padding = mkLiteral "5px 0px 5px 5px";
    #   };
    #   "#element.selected" = {
    #     border = mkLiteral "1px";
    #     border-radius = mkLiteral "4px";
    #     border-color = mkLiteral "#${config.colorScheme.palette.base07}";
    #     background-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #   };

    #   "#element-text" = {
    #     expand = true;
    #     # horizontal-align = mkLiteral "0.5";
    #     vertical-align = mkLiteral "0.5";
    #     margin = mkLiteral "0px 2.5px 0px 2.5px";
    #   };
    #   "#element-text.selected" = {
    #     background-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #   };

    #   # Not sure how to get icons
    #   "#element-icon" = {
    #     size = mkLiteral "18px";
    #     border = mkLiteral "0px";
    #     padding = mkLiteral "2px 5px 2px 2px";
    #     background-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #   };
    #   "#element-icon.selected" = {
    #     background-color = mkLiteral "#${config.colorScheme.palette.base04}";
    #     text-color = mkLiteral "#${config.colorScheme.palette.base00}";
    #   };
    # };
  };
}
