nixos/home/hyprland/rofi/default.nix

146 lines
3.5 KiB
Nix

{ config, pkgs, ... }: {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
location = 0;
terminal = "foot";
pass = {
enable = true;
package = pkgs.rofi-pass-wayland;
extraConfig = ''
USERNAME_field='login'
'';
};
theme = let inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
bg-col = "#1e1e2e";
bg-col-light = "#1e1e2e";
border-col = "#1e1e2e";
selected-col = "#1e1e2e";
blue = "#89b4fa";
fg-col = "#cdd6f4";
fg-col2 = "#f38ba8";
grey = "#6c7086";
width = 600;
font = "Iosevka Nerd Font 14";
};
"element-text, element-icon , mode-switcher" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
window = {
height = "360px";
border = "3px";
border-color = "@border-col";
background-color = "@bg-col";
};
mainbox = { background-color = "@bg-col"; };
inputbar = {
children = [ "prompt" "entry" ];
background-color = "@bg-col";
border-radius = "5px";
padding = "2px";
};
prompt = {
background-color = "@blue";
padding = "6px";
text-color = "@bg-col";
border-radius = "3px";
margin = "20px 0px 0px 20px";
};
textbox-prompt-colon = {
expand = false;
str = " =";
};
entry = {
padding = "6px";
margin = "20px 0px 0px 10px";
text-color = "@fg-col";
background-color = "@bg-col";
};
listview = {
border = "0px 0px 0px";
padding = "6px 0px 0px";
margin = "10px 0px 0px 20px";
columns = 2;
lines = 5;
background-color = "@bg-col";
};
element = {
padding = "5px";
background-color = "@bg-col";
text-color = "@fg-col";
};
element-icon = { size = "25px"; };
"element selected" = {
background-color = "@selected-col";
text-color = "@fg-col2";
};
mode-switcher = { spacing = 0; };
button = {
padding = "10px";
background-color = "@bg-col-light";
text-color = "@grey";
vertical-align = 0.5;
horizontal-align = 0.5;
};
"button selected" = {
background-color = "@bg-col";
text-color = "@blue";
};
message = {
background-color = "@bg-col-light";
margin = "2px";
padding = "2px";
border-radius = "5px";
};
textbox = {
padding = "6px";
margin = "20px 0px 0px 20px";
text-color = "@blue";
background-color = "@bg-col-light";
};
};
extraConfig =
let power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
in {
modi = "window,run,drun,ssh,${power-menu},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 = "󰋙";
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 ";
};
};
}