From 8f7d685a8b0acd9635e7f50a753535e5cc8208a6 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Thu, 6 Nov 2025 00:42:19 +0100 Subject: [PATCH] rofi refactor --- home-modules/rofi.nix | 156 ++++++++++++------------------------------ 1 file changed, 44 insertions(+), 112 deletions(-) diff --git a/home-modules/rofi.nix b/home-modules/rofi.nix index 6a1ed01..6a46826 100644 --- a/home-modules/rofi.nix +++ b/home-modules/rofi.nix @@ -1,114 +1,46 @@ -{ pkgs, ... }@all: with all; -{ - home.packages = with pkgs; [ - rofi-wayland - ]; - home.file = let - trdr = "${rice.lib.float-to-drune rice.transparency}"; - in with rice.color; { - ".config/rofi/config.rasi".text = '' - configuration { - show-icons: false; - display-drun: ""; - disable-history: false; - drun-display-format: "{name} [({generic})] [({exec})]"; - } - - * { - font: "${rice.font.code.name} 12"; - foreground: ${foreground}; - background-color: ${background}${trdr}; - padding: 0px; - margin: 0px; - spacing: 0px; - border-width: 0px; - } - - #window { - background-color: ${background}${trdr}; - border: ${builtins.toString rice.border-width}px; - border-radius: ${builtins.toString rice.rounding}; - border-color: ${border}; - } - #mainbox { - border: 0; - padding: 0; - } - #message { - border: 0px; - } - #textbox { - text-color: ${foreground}; - } - #listview { - fixed-height: 0; - border: 0px; - spacing: 0px ; - scrollbar: false; - padding: 0px; - } - - - - #element { - border: 0; - padding: 0px; - border-radius: ${if rice.rounding > 0 then "2" else "0"}px; - } - - #element.normal.normal { background-color: ${background}${trdr}; text-color: ${accent.base}; } - #element.selected.normal { background-color: ${tertiary.base}${trdr}; text-color: ${background}; } - #element.alternate.normal { background-color: ${background}${trdr}; text-color: ${secondary.base}; } - - - #scrollbar { - width: ${builtins.toString rice.border-width}px ; - border: 0; - handle-width: 8px ; - padding: 0; - } - #sidebar { - border: ${builtins.toString rice.border-width}px dash; - } - #button.selected { - text-color: ${foreground}; - } - #inputbar { - spacing: 0; - text-color: ${background}; - background-color: ${accent.base}${trdr}; - padding: 0; - margine-bottom: 2px; - children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; - } - #prompt { - spacing: 0; - background-color: transparent; - text-color: ${foreground}; - } - #textbox-prompt-colon { - expand: false; - str: ">"; - margin: 0px 0.3em 0em 0em ; - text-color: ${background}; - background-color: transparent; - } - #case-indicator { - spacing: 0; - text-color: ${foreground}; - background-color: transparent; - } - #entry { - spacing: 0; - text-color: ${background}; - background-color: transparent; - placeholder: ""; - } - - element-text, element-icon { - background-color: inherit; - text-color: inherit; - } - ''; +{ pkgs, ... }@all: with all; { + home = { + packages = with pkgs; [ rofi-wayland ]; + file = let # the home-manager module sucks + trdr = "${rice.lib.float-to-drune rice.transparency}"; + ts = builtins.toString; + in with rice.color; { + ".config/rofi/config.rasi".text = '' + configuration { + show-icons: false; + display-drun: ""; + disable-history: false; + } + * { + font: "${rice.font.code.name} 12"; + foreground: ${foreground}; + text-color: ${foreground}; + background-color: transparent; + padding: 0px; + margin: 0px; + spacing: 0px; + border-width: 0px; + } + window { + background-color: transparent; + border: ${ts rice.border-width}px; + border-radius: ${ts rice.rounding}px; + border-color: ${ts rice.color.border}; + } + listview { scrollbar: false; } + element { border-radius: ${ts rice.rounding}px; } + element.normal.normal { background-color: ${accent.darker}; text-color: ${accent.base}; } + element.selected.normal { background-color: ${accent.base}; text-color: ${accent.bright}; } + element.alternate.normal { background-color: ${secondary.darker}; text-color: ${secondary.base}; } + inputbar { children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; } + prompt { } + textbox-prompt-colon { + expand: false; + str: ">"; + } + case-indicator { } + entry { placeholder: ""; } + ''; + }; }; }