nix-config/home/rofi.nix

127 lines
2.8 KiB
Nix
Raw Normal View History

2024-08-03 20:22:47 +02:00
{
config,
lib,
pkgs,
...
}:
2024-04-03 11:52:10 +02:00
let
inherit (lib) mkForce;
inherit (config.lib.formats.rasi) mkLiteral;
inherit (config.lib.stylix.colors.withHashtag) base00 base05;
2024-04-03 11:52:10 +02:00
in
{
programs.rofi = {
enable = true;
cycle = false;
package = pkgs.rofi-wayland;
extraConfig = {
modi = "drun,filebrowser";
font = "Noto Sans CJK JP 12";
show-icons = true;
disable-history = true;
hover-select = true;
bw = 0;
display-drun = "";
display-window = "";
display-combi = "";
icon-theme = "Fluent-dark";
terminal = "kitty";
drun-match-fields = "name";
drun-display-format = "{name}";
me-select-entry = "";
me-accept-entry = "MousePrimary";
kb-cancel = "Escape,MouseMiddle";
};
# Based on Newman Sánchez's Launchpad theme <https://github.com/newmanls/rofi-themes-collection>
2024-04-03 11:52:10 +02:00
theme = mkForce {
"*" = {
font = "Noto Sans CJK JP Bold 12";
background-color = mkLiteral "transparent";
foreground = mkLiteral "${base05}";
text-color = mkLiteral "${base05}";
padding = mkLiteral "0px";
margin = mkLiteral "0px";
};
window = {
fullscreen = true;
padding = mkLiteral "1em";
background-color = mkLiteral "${base00}dd";
};
mainbox = {
padding = mkLiteral "8px";
};
inputbar = {
background-color = mkLiteral "${base05}20";
margin = mkLiteral "0px calc( 50% - 230px )";
padding = mkLiteral "4px 8px";
spacing = mkLiteral "8px";
border = mkLiteral "1px";
border-radius = mkLiteral "2px";
border-color = mkLiteral "${base05}40";
2024-08-03 20:22:47 +02:00
children = map mkLiteral [
"icon-search"
"entry"
];
};
prompt = {
enabled = false;
};
icon-search = {
expand = false;
filename = "search";
vertical-align = mkLiteral "0.5";
};
entry = {
placeholder = "Search";
placeholder-color = mkLiteral "${base05}20";
};
listview = {
margin = mkLiteral "48px calc( 50% - 720px )";
margin-bottom = mkLiteral "0px";
spacing = mkLiteral "48px";
columns = 6;
fixed-columns = true;
};
"element, element-text, element-icon" = {
cursor = mkLiteral "pointer";
};
element = {
padding = mkLiteral "8px";
spacing = mkLiteral "4px";
orientation = mkLiteral "vertical";
border-radius = mkLiteral "12px";
};
"element selected" = {
background-color = mkLiteral "${base05}33";
};
element-icon = {
size = mkLiteral "5.75em";
horizontal-align = mkLiteral "0.5";
};
element-text = {
horizontal-align = mkLiteral "0.5";
};
};
};
}