117 lines
3.7 KiB
Nix
117 lines
3.7 KiB
Nix
|
{ config, ... }:
|
||
|
{
|
||
|
programs.rofi = {
|
||
|
enable = true;
|
||
|
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}";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|