{ config, ... }:

{
  programs.rofi = {
    enable = true;

    theme = let inherit (config.lib.formats.rasi) mkLiteral;
    in {
      "@import" = "~/.cache/wal/colors-rofi-dark";

      "*" = {
        background-color = mkLiteral "#000000";
        foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )";
        border-color = mkLiteral "#FFFFFF";
        width = 512;
      };

      "#inputbar" = { children = map mkLiteral [ "prompt" "entry" ]; };

      "#textbox-prompt-colon" = {
        expand = false;
        str = ":";
        margin = mkLiteral "0px 0.3em 0em 0em";
        text-color = mkLiteral "@foreground-color";
      };
    };
  };

  nmt.script = ''
    assertFileContent \
      home-files/.config/rofi/config.rasi \
      ${./custom-theme-config.rasi}
    assertFileContent \
      home-files/.local/share/rofi/themes/custom.rasi \
      ${./custom-theme.rasi}
  '';
}