108 lines
3.2 KiB
Nix
108 lines
3.2 KiB
Nix
|
|
{
|
||
|
|
config,
|
||
|
|
lib,
|
||
|
|
pkgs,
|
||
|
|
...
|
||
|
|
}:
|
||
|
|
with lib; let
|
||
|
|
cfg = config.home.desktop.rofi;
|
||
|
|
inherit (config.lib.formats.rasi) mkLiteral;
|
||
|
|
in {
|
||
|
|
options.home.desktop.rofi = {
|
||
|
|
enable = mkEnableOption "Enable Rofi";
|
||
|
|
};
|
||
|
|
config = mkIf cfg.enable {
|
||
|
|
home.packages = with pkgs; [rofi-bluetooth];
|
||
|
|
programs.rofi = {
|
||
|
|
enable = true;
|
||
|
|
plugins = with pkgs; [
|
||
|
|
rofi-calc
|
||
|
|
rofi-emoji
|
||
|
|
];
|
||
|
|
terminal = "${pkgs.kitty}/bin/kitty";
|
||
|
|
location = "center";
|
||
|
|
modes = ["drun" "emoji" "calc" "combi"];
|
||
|
|
extraConfig.show-icons = true;
|
||
|
|
theme = {
|
||
|
|
"*" = {
|
||
|
|
font = "Cascadia Code 14";
|
||
|
|
blur = true;
|
||
|
|
padding = mkLiteral "10px";
|
||
|
|
background-color = mkLiteral "transparent";
|
||
|
|
border-radius = mkLiteral "0px";
|
||
|
|
};
|
||
|
|
window = {
|
||
|
|
width = mkLiteral "1050px";
|
||
|
|
height = mkLiteral "625px";
|
||
|
|
location = mkLiteral "center";
|
||
|
|
blur = true;
|
||
|
|
border = mkLiteral "2px";
|
||
|
|
border-radius = mkLiteral "3px";
|
||
|
|
border-color = mkLiteral "#61afef";
|
||
|
|
background-color = mkLiteral "transparent";
|
||
|
|
padding = mkLiteral "0px";
|
||
|
|
margin = mkLiteral "30px 50px";
|
||
|
|
};
|
||
|
|
mainbox = {
|
||
|
|
orientation = mkLiteral "horizontal";
|
||
|
|
children = map mkLiteral ["borderbox"];
|
||
|
|
spacing = mkLiteral "0px";
|
||
|
|
padding = mkLiteral "0px";
|
||
|
|
};
|
||
|
|
borderbox = {
|
||
|
|
orientation = mkLiteral "horizontal";
|
||
|
|
children = map mkLiteral ["imagebox" "contentbox"];
|
||
|
|
padding = mkLiteral "0px";
|
||
|
|
spacing = mkLiteral "0px";
|
||
|
|
border-radius = mkLiteral "3px";
|
||
|
|
};
|
||
|
|
contentbox = {
|
||
|
|
orientation = mkLiteral "vertical";
|
||
|
|
children = map mkLiteral ["entry" "listview"];
|
||
|
|
spacing = mkLiteral "0px";
|
||
|
|
padding = mkLiteral "0px";
|
||
|
|
expand = true;
|
||
|
|
};
|
||
|
|
imagebox = {
|
||
|
|
background-image = mkLiteral "url(\"${./image.jpg}\")";
|
||
|
|
background-repeat = false;
|
||
|
|
size = mkLiteral "200px 625px";
|
||
|
|
};
|
||
|
|
element = {
|
||
|
|
border-radius = mkLiteral "0px";
|
||
|
|
};
|
||
|
|
"element-text, element-icon" = {
|
||
|
|
padding = mkLiteral "6px 8px";
|
||
|
|
spacing = mkLiteral "2px";
|
||
|
|
text-color = mkLiteral "#fab387";
|
||
|
|
};
|
||
|
|
"element selected" = {
|
||
|
|
background-color = mkLiteral "#191919";
|
||
|
|
text-color = mkLiteral "#e5c07b";
|
||
|
|
border-radius = mkLiteral "3px";
|
||
|
|
};
|
||
|
|
prompt = {
|
||
|
|
enabled = false;
|
||
|
|
background-color = mkLiteral "transparent";
|
||
|
|
text-color = mkLiteral "#61afef";
|
||
|
|
padding = mkLiteral "5px 10px";
|
||
|
|
};
|
||
|
|
entry = {
|
||
|
|
padding = mkLiteral "8px";
|
||
|
|
expand = false;
|
||
|
|
font = "Cascadia Code 14";
|
||
|
|
text-color = mkLiteral "#fab387";
|
||
|
|
border-radius = mkLiteral "0px 3px 0px 0px";
|
||
|
|
background-color = mkLiteral "#292e36";
|
||
|
|
};
|
||
|
|
listview = {
|
||
|
|
lines = mkLiteral "1";
|
||
|
|
background-color = mkLiteral "rgba(46, 52, 64, 0.8)";
|
||
|
|
border-radius = mkLiteral "0px 0px 3px 0px";
|
||
|
|
padding = mkLiteral "5px";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|