138 lines
3.5 KiB
Nix
138 lines
3.5 KiB
Nix
{config, ...}: let
|
|
colors = import ../gruvbox-theme.nix;
|
|
in {
|
|
programs.rofi = {
|
|
enable = true;
|
|
modes = [
|
|
"drun"
|
|
"window"
|
|
];
|
|
terminal = "ghostty";
|
|
font = "Intel One Mono 14";
|
|
location = "center";
|
|
theme = let
|
|
inherit (config.lib.formats.rasi) mkLiteral;
|
|
in {
|
|
"*" = {
|
|
margin = 0;
|
|
padding = 0;
|
|
spacing = 0;
|
|
|
|
bg0 = mkLiteral "${colors.gruvbox.bg0}9A";
|
|
bg1 = mkLiteral "${colors.gruvbox.bg1}";
|
|
bg2 = mkLiteral "${colors.gruvbox.bg2}9A";
|
|
bg3 = mkLiteral "${colors.gruvbox.bg3}9A";
|
|
|
|
fg0 = mkLiteral "${colors.gruvbox.fg0}";
|
|
fg1 = mkLiteral "${colors.gruvbox.fg1}";
|
|
fg2 = mkLiteral "${colors.gruvbox.fg2}";
|
|
fg3 = mkLiteral "${colors.gruvbox.fg3}";
|
|
|
|
blue = mkLiteral "${colors.gruvbox.blue}";
|
|
orange = mkLiteral "${colors.gruvbox.orange}";
|
|
brightOrange = mkLiteral "${colors.gruvbox.bright_orange}";
|
|
brightBlue = mkLiteral "${colors.gruvbox.bright_blue}9A";
|
|
red = mkLiteral "${colors.gruvbox.red}";
|
|
|
|
background-color = mkLiteral "transparent";
|
|
text-color = mkLiteral "@fg0";
|
|
};
|
|
|
|
"window" = {
|
|
background-color = mkLiteral "@bg0";
|
|
#transparency = mkLiteral "'real'";
|
|
|
|
width = mkLiteral "480";
|
|
border-radius = mkLiteral "8px";
|
|
border = mkLiteral "1px";
|
|
border-color = mkLiteral "@red";
|
|
};
|
|
|
|
"mainbox" = {
|
|
padding = mkLiteral "12px";
|
|
#children = mkLiteral "[inputbar, listview]";
|
|
};
|
|
|
|
"inputbar" = {
|
|
background-color = mkLiteral "@bg1";
|
|
border-color = mkLiteral "@orange";
|
|
|
|
border = mkLiteral "2px";
|
|
border-radius = mkLiteral "4px";
|
|
|
|
padding = mkLiteral "8px 16px";
|
|
spacing = mkLiteral "8px";
|
|
children = mkLiteral "[prompt, entry]";
|
|
};
|
|
|
|
"prompt" = {
|
|
text-color = mkLiteral "@brightOrange";
|
|
};
|
|
|
|
"entry" = {
|
|
placeholder = "Search";
|
|
placeholder-color = mkLiteral "@fg3";
|
|
};
|
|
|
|
"message" = {
|
|
margin = mkLiteral "12px 0 0";
|
|
border-radius = mkLiteral "4px";
|
|
border-color = mkLiteral "@bg2";
|
|
background-color = mkLiteral "@bg2";
|
|
};
|
|
|
|
"textbox" = {
|
|
padding = mkLiteral "8px 24px";
|
|
};
|
|
|
|
"listview" = {
|
|
background-color = mkLiteral "transparent";
|
|
margin = mkLiteral "12px 0 0";
|
|
lines = 10;
|
|
columns = 1;
|
|
};
|
|
|
|
"element" = {
|
|
padding = mkLiteral "8px 16px";
|
|
spacing = mkLiteral "8px";
|
|
border-radius = mkLiteral "4px";
|
|
#spacing = mkLiteral "8px";
|
|
};
|
|
|
|
"element normal active" = {
|
|
text-color = mkLiteral "@bg3";
|
|
};
|
|
|
|
"element alternate active" = {
|
|
text-color = mkLiteral "@bg3";
|
|
};
|
|
|
|
"element selected normal, element selected active" = {
|
|
background-color = mkLiteral "@brightBlue";
|
|
border = mkLiteral "2px";
|
|
border-color = mkLiteral "@blue";
|
|
};
|
|
|
|
"element-icon" = {
|
|
size = mkLiteral "1em";
|
|
vertical-align = mkLiteral "0.5";
|
|
};
|
|
|
|
"element-text" = {
|
|
text-color = mkLiteral "inherit";
|
|
#padding = mkLiteral "10px";
|
|
};
|
|
|
|
"element selected" = {
|
|
#text-color = mkLiteral "@bg1";
|
|
#border-color = mkLiteral "@orange";
|
|
};
|
|
|
|
"element-text.selected" = {
|
|
#background-color = mkLiteral "@orange-alt";
|
|
#text-color = mkLiteral "@orange";
|
|
};
|
|
};
|
|
};
|
|
}
|