nixos-config/nixos/desktop/hyprland/rofi.nix
2024-10-28 17:31:34 +01:00

189 lines
5.8 KiB
Nix

{
lib,
config,
...
}: {
options = {
rofi.enable = lib.mkEnableOption "enable Rofi module";
};
config = lib.mkIf config.rofi.enable {
programs.rofi = {
enable = true;
cycle = true;
location = "center";
pass = {};
font = lib.mkDefault "JetBrainsMono NF 14";
#theme = let
# inherit (config.lib.formats.rasi) mkLiteral;
#in {
# "*" = {
# main-bg = mkLiteral "#11111be6";
# main-fg = mkLiteral "#cdd6f4ff";
# main-br = mkLiteral "#cba6f7ff";
# main-ex = mkLiteral "#f5e0dcff";
# select-bg = mkLiteral "#b4befeff";
# select-fg = mkLiteral "#11111bff";
# separatorcolor = mkLiteral "transparent";
# border-color = mkLiteral "transparent";
# };
#
# "configuration" = {
# modi = "drun,filebrowser,window,run";
# show-icons = true;
# display-drun = " ";
# display-run = " ";
# display-filebrowser = " ";
# display-window = " ";
# drun-display-format = "{name}";
# window-format = "{w}{t}";
# font = "JetBrainsMono Nerd Font 10";
# icon-theme = "Tela-circle-dracula";
# };
#
# # Main window settings
# "window" = {
# height = mkLiteral "35em";
# width = mkLiteral "56em";
# transparency = "real";
# fullscreen = false;
# enabled = true;
# cursor = "default";
# spacing = mkLiteral "0em";
# padding = mkLiteral "0em";
# border-color = mkLiteral "@main-br"; # replace with actual color hex if needed
# background-color = mkLiteral "@main-bg";
# };
#
# # Mainbox settings
# "mainbox" = {
# enabled = true;
# spacing = mkLiteral "0em";
# padding = mkLiteral "0em";
# orientation = mkLiteral "vertical";
# children = ["inputbar" "listbox"];
# background-color = mkLiteral "transparent";
# background-image = mkLiteral "url(\"~/.cache/hyde/wall.blur\", height)";
# };
#
# # Input bar settings
# "inputbar" = {
# enabled = true;
# spacing = mkLiteral "0em";
# padding = mkLiteral "5em";
# children = ["entry"];
# background-color = mkLiteral "transparent";
# background-image = mkLiteral "url(\"~/.cache/hyde/wall.thmb\", width)";
# };
#
# # Entry field settings
# "entry" = {
# border-radius = mkLiteral "2em";
# enabled = true;
# spacing = mkLiteral "1em";
# padding = mkLiteral "1em";
# text-color = mkLiteral "@main-fg";
# background-color = mkLiteral "@main-bg";
# };
#
# # Listbox settings
# "listbox" = {
# padding = mkLiteral "0em";
# spacing = mkLiteral "0em";
# orientation = mkLiteral "horizontal";
# children = ["listview" "mode-switcher"];
# background-color = mkLiteral "@main-bg";
# };
#
# # List view settings
# "listview" = {
# padding = mkLiteral "1.5em";
# spacing = mkLiteral "0.5em";
# enabled = true;
# columns = 2;
# lines = 3;
# cycle = true;
# dynamic = true;
# scrollbar = false;
# layout = "vertical";
# reverse = false;
# fixed-height = true;
# fixed-columns = true;
# cursor = "default";
# background-color = mkLiteral "transparent";
# text-color = mkLiteral "@main-fg";
# };
#
# # Mode switcher settings
# "mode-switcher" = {
# orientation = mkLiteral "vertical";
# width = mkLiteral "6.6em";
# enabled = true;
# padding = mkLiteral "1.5em";
# spacing = mkLiteral "1.5em";
# background-color = mkLiteral "transparent";
# };
#
# # Button settings
# "button" = {
# cursor = "pointer";
# border-radius = mkLiteral "2em";
# background-color = mkLiteral "@main-bg";
# text-color = mkLiteral "@main-fg";
# };
# "button selected" = {
# background-color = mkLiteral "@main-fg";
# text-color = mkLiteral "@main-bg";
# };
#
# # Element settings
# "element" = {
# enabled = true;
# spacing = mkLiteral "0em";
# padding = mkLiteral "0.5em";
# cursor = "pointer";
# background-color = mkLiteral "transparent";
# text-color = mkLiteral "@main-fg";
# };
# "element selected.normal" = {
# background-color = mkLiteral "@select-bg";
# text-color = mkLiteral "@select-fg";
# };
#
# # Icon element settings
# "element-icon" = {
# size = mkLiteral "3em";
# cursor = "inherit";
# background-color = mkLiteral "transparent";
# text-color = mkLiteral "inherit";
# };
#
# # Text element settings
# "element-text" = {
# vertical-align = mkLiteral "0.5";
# horizontal-align = mkLiteral "0.0";
# cursor = "inherit";
# background-color = mkLiteral "transparent";
# text-color = mkLiteral "inherit";
# };
#
# # Error message settings
# "error-message" = {
# text-color = mkLiteral "@main-fg";
# background-color = mkLiteral "@main-bg";
# text-transform = mkLiteral "capitalize";
# children = ["textbox"];
# };
#
# # Textbox settings
# "textbox" = {
# text-color = mkLiteral "inherit";
# background-color = mkLiteral "inherit";
# vertical-align = mkLiteral "0.5";
# horizontal-align = mkLiteral "0.5";
# };
#};
};
};
}