{ config , pkgs , theme , font , ... }: with theme; let inherit (config.lib.formats.rasi) mkLiteral; rofi-theme = { "@import" = "default"; "*" = { active-background = mkLiteral theme.base00; alternate-active-background = mkLiteral theme.base00; alternate-normal-background = mkLiteral theme.base00; background = mkLiteral theme.base00; background-color = mkLiteral theme.base00; normal-background = mkLiteral theme.base00; selected-active-background = mkLiteral theme.base00; selected-normal-background = mkLiteral theme.base00; selected-urgent-background = mkLiteral theme.base00; active-foreground = mkLiteral theme.base05; alternate-active-foreground = mkLiteral theme.base05; alternate-normal-foreground = mkLiteral theme.base05; foreground = mkLiteral theme.base05; normal-foreground = mkLiteral theme.base05; selected-active-foreground = mkLiteral theme.base0C; selected-normal-foreground = mkLiteral theme.base0C; urgent-foreground = mkLiteral theme.base05; border-color = mkLiteral theme.base00; }; inputbar.children = [ "entry" ]; element.padding = 10; entry = { padding = 10; placeholder = "type to filter"; }; listview.border = 0; scrollbar.handle-width = 0; window = { padding = 40; width = 800; height = 600; border = mkLiteral "3px solid"; border-color = mkLiteral theme.base01; }; }; in { programs.rofi = { enable = true; font = "${font.name} 21"; location = "top-left"; xoffset = 20; yoffset = 20; cycle = true; theme = rofi-theme; extraConfig = { modes = mkLiteral "[ combi ]"; combi-modes = mkLiteral "[ window, run ]"; # window = mkLiteral ''{ display-name: "[w]"; }''; # run = mkLiteral ''{ display-name: "[r]"; }''; kb-clear-line = "Control+c"; kb-remove-word-back = "Control+w"; }; }; }