From 83500bb049b192354b2a120b700a51def4a2c29d Mon Sep 17 00:00:00 2001 From: Jacob Bachmann Date: Sat, 3 Aug 2024 17:58:28 +0200 Subject: [PATCH] feat: style rofi --- users/gandalf/modules/gui/i3/rofi.nix | 45 ++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/users/gandalf/modules/gui/i3/rofi.nix b/users/gandalf/modules/gui/i3/rofi.nix index 04c5ac3..ed6f522 100644 --- a/users/gandalf/modules/gui/i3/rofi.nix +++ b/users/gandalf/modules/gui/i3/rofi.nix @@ -1,13 +1,50 @@ -{ pkgs, lib, ... }: +{ config, pkgs, lib, ... }: let common = (import ../common.nix) { pkgs = pkgs; lib = lib; }; + inherit (config.lib.formats.rasi) mkLiteral; in { - programs.rofi = { enable = true; - font = common.font; + font = common.font + " " + common.font-size; location = "center"; + extraConfig = { + show-icons = mkLiteral "true"; + }; + theme = { + "prompt" = { + "text-color" = mkLiteral common.colorschemes.default.inactive; + }; + "textbox-prompt-colon" = { + expand = false; + str = ":"; + margin = mkLiteral "0px 0.3em 0em 0em"; + "text-color" = mkLiteral common.colorschemes.default.inactive; + }; + "inputbar" = { + "padding" = mkLiteral "10px 20px 10px 20px"; + "border" = mkLiteral "0px 0px 1px dash 0px"; + "border-color" = mkLiteral common.colorschemes.default.activeDark; + "children" = map mkLiteral [ "prompt" "textbox-prompt-colon" "entry" ]; + }; + "listview" = { + "padding" = mkLiteral "10px"; + }; + "element" = { + "padding" = mkLiteral "10px"; + }; + "element-text" = { + "margin" = mkLiteral "0px 0px 0px 20px"; + }; + } // lib.foldl' + (acc: elem: acc // { + ${elem} = { "background-color" = mkLiteral common.colorschemes.default.activeDark; }; + }) + { } + (lib.mapCartesianProduct ({ a, b, c }: lib.concatStringsSep "." [ a b c ]) { + a = [ "element" "element-text" "element-icon" ]; + b = [ "selected" ]; + c = [ "normal" "urgent" "active" ]; + }); }; - }