{ lib, config, ... }: { options = { rofi.enable = lib.mkEnableOption "enable Rofi module"; }; config = lib.mkIf config.rofi.enable { programs.rofi = { enable = true; cycle = true; location = "center"; pass = {}; font = lib.mkDefault "JetBrainsMono NF 14"; #theme = let # inherit (config.lib.formats.rasi) mkLiteral; #in { # "*" = { # main-bg = mkLiteral "#11111be6"; # main-fg = mkLiteral "#cdd6f4ff"; # main-br = mkLiteral "#cba6f7ff"; # main-ex = mkLiteral "#f5e0dcff"; # select-bg = mkLiteral "#b4befeff"; # select-fg = mkLiteral "#11111bff"; # separatorcolor = mkLiteral "transparent"; # border-color = mkLiteral "transparent"; # }; # # "configuration" = { # modi = "drun,filebrowser,window,run"; # show-icons = true; # display-drun = " "; # display-run = " "; # display-filebrowser = " "; # display-window = " "; # drun-display-format = "{name}"; # window-format = "{w}{t}"; # font = "JetBrainsMono Nerd Font 10"; # icon-theme = "Tela-circle-dracula"; # }; # # # Main window settings # "window" = { # height = mkLiteral "35em"; # width = mkLiteral "56em"; # transparency = "real"; # fullscreen = false; # enabled = true; # cursor = "default"; # spacing = mkLiteral "0em"; # padding = mkLiteral "0em"; # border-color = mkLiteral "@main-br"; # replace with actual color hex if needed # background-color = mkLiteral "@main-bg"; # }; # # # Mainbox settings # "mainbox" = { # enabled = true; # spacing = mkLiteral "0em"; # padding = mkLiteral "0em"; # orientation = mkLiteral "vertical"; # children = ["inputbar" "listbox"]; # background-color = mkLiteral "transparent"; # background-image = mkLiteral "url(\"~/.cache/hyde/wall.blur\", height)"; # }; # # # Input bar settings # "inputbar" = { # enabled = true; # spacing = mkLiteral "0em"; # padding = mkLiteral "5em"; # children = ["entry"]; # background-color = mkLiteral "transparent"; # background-image = mkLiteral "url(\"~/.cache/hyde/wall.thmb\", width)"; # }; # # # Entry field settings # "entry" = { # border-radius = mkLiteral "2em"; # enabled = true; # spacing = mkLiteral "1em"; # padding = mkLiteral "1em"; # text-color = mkLiteral "@main-fg"; # background-color = mkLiteral "@main-bg"; # }; # # # Listbox settings # "listbox" = { # padding = mkLiteral "0em"; # spacing = mkLiteral "0em"; # orientation = mkLiteral "horizontal"; # children = ["listview" "mode-switcher"]; # background-color = mkLiteral "@main-bg"; # }; # # # List view settings # "listview" = { # padding = mkLiteral "1.5em"; # spacing = mkLiteral "0.5em"; # enabled = true; # columns = 2; # lines = 3; # cycle = true; # dynamic = true; # scrollbar = false; # layout = "vertical"; # reverse = false; # fixed-height = true; # fixed-columns = true; # cursor = "default"; # background-color = mkLiteral "transparent"; # text-color = mkLiteral "@main-fg"; # }; # # # Mode switcher settings # "mode-switcher" = { # orientation = mkLiteral "vertical"; # width = mkLiteral "6.6em"; # enabled = true; # padding = mkLiteral "1.5em"; # spacing = mkLiteral "1.5em"; # background-color = mkLiteral "transparent"; # }; # # # Button settings # "button" = { # cursor = "pointer"; # border-radius = mkLiteral "2em"; # background-color = mkLiteral "@main-bg"; # text-color = mkLiteral "@main-fg"; # }; # "button selected" = { # background-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-bg"; # }; # # # Element settings # "element" = { # enabled = true; # spacing = mkLiteral "0em"; # padding = mkLiteral "0.5em"; # cursor = "pointer"; # background-color = mkLiteral "transparent"; # text-color = mkLiteral "@main-fg"; # }; # "element selected.normal" = { # background-color = mkLiteral "@select-bg"; # text-color = mkLiteral "@select-fg"; # }; # # # Icon element settings # "element-icon" = { # size = mkLiteral "3em"; # cursor = "inherit"; # background-color = mkLiteral "transparent"; # text-color = mkLiteral "inherit"; # }; # # # Text element settings # "element-text" = { # vertical-align = mkLiteral "0.5"; # horizontal-align = mkLiteral "0.0"; # cursor = "inherit"; # background-color = mkLiteral "transparent"; # text-color = mkLiteral "inherit"; # }; # # # Error message settings # "error-message" = { # text-color = mkLiteral "@main-fg"; # background-color = mkLiteral "@main-bg"; # text-transform = mkLiteral "capitalize"; # children = ["textbox"]; # }; # # # Textbox settings # "textbox" = { # text-color = mkLiteral "inherit"; # background-color = mkLiteral "inherit"; # vertical-align = mkLiteral "0.5"; # horizontal-align = mkLiteral "0.5"; # }; #}; }; }; }