{ config, pkgs, fonts, scheme, accentColour ? "base07", ... }: { programs.rofi = { enable = true; package = pkgs.rofi-wayland; font = fonts.monospace.name; location = "center"; plugins = with pkgs; [rofi-emoji]; pass = { enable = true; package = pkgs.rofi-wayland; extraConfig = '' USERNAME_field='login' ''; }; extraConfig = { modi = "drun,ssh,window,combi"; combi-modi = "window,drun,ssh"; sidebar-mode = true; sort = true; sorting-method = "fzf"; matching = "fuzzy"; icon-theme = config.gtk.iconTheme.name; show-icons = true; application-fallback-icon = "application-x-addon"; drun-display-format = "{icon} {name} ({categories})"; disable-history = false; hide-scrollbar = true; display-window = " 󰧨 Move "; display-run = " 󰅴 Run "; display-drun = " 󱓞 Apps "; display-ssh = " 󰢹 SSH "; display-combi = " 󰛡 Combi "; }; theme = with builtins; with scheme; let inherit (config.lib.formats.rasi) mkLiteral; bg = mkLiteral "rgba (${base00-rgb-r}, ${base00-rgb-g}, ${base00-rgb-b}, 80%)"; bg2 = mkLiteral "rgba (${base01-rgb-r}, ${base01-rgb-g}, ${base01-rgb-b}, 100%)"; fg = mkLiteral withHashtag.base05; fg2 = mkLiteral withHashtag.base04; border = mkLiteral withHashtag.${accentColour}; blue = mkLiteral withHashtag.blue; in { "*" = { background-color = mkLiteral "transparent"; text-color = fg; font = with fonts; "${monospace.name} ${toString sizes.popups}"; }; window = { height = mkLiteral "75%"; width = mkLiteral "75%"; border = mkLiteral "1px"; border-color = border; border-radius = mkLiteral "10px"; background-color = bg; }; inputbar = { children = map mkLiteral ["prompt" "entry"]; padding = mkLiteral "2px"; }; prompt = { background-color = bg2; padding = mkLiteral "6px"; text-color = blue; border-radius = mkLiteral "10px"; margin = mkLiteral "20px 0px 0px 20px"; }; textbox-prompt-colon = { expand = false; str = "="; }; entry = { padding = mkLiteral "6px"; margin = mkLiteral "20px 0px 0px 10px"; }; listview = { border = mkLiteral "0px 0px 0px"; padding = mkLiteral "6px 0px 0px"; margin = mkLiteral "10px 0px 0px 20px"; columns = 2; lines = 5; }; element = { padding = mkLiteral "5px"; }; "element-icon" = { size = mkLiteral "25px"; }; "element selected" = { background-color = bg2; text-color = blue; border-radius = mkLiteral "10px"; }; mode-switcher = { spacing = 0; }; button = { padding = mkLiteral "10px"; text-color = fg2; border-radius = mkLiteral "10px"; vertical-align = mkLiteral "0.5"; horizontal-align = mkLiteral "0.5"; }; "button selected" = { background-color = bg2; text-color = blue; }; message = { margin = mkLiteral "2px"; padding = mkLiteral "2px"; border-radius = mkLiteral "5px"; }; textbox = { padding = mkLiteral "6px"; margin = mkLiteral "20px 0px 0px 20px"; text-color = blue; }; }; }; }