76 lines
2.5 KiB
Nix
76 lines
2.5 KiB
Nix
{ config, pkgs, inputs, lib, ... }:
|
|
with config.stylix.fonts;
|
|
let
|
|
mkLiteral = name: "${name}";
|
|
mkRgba = opacity: color:
|
|
let
|
|
c = config.lib.stylix.colors;
|
|
r = c."${color}-rgb-r";
|
|
g = c."${color}-rgb-g";
|
|
b = c."${color}-rgb-b";
|
|
in
|
|
"rgba ( ${r}, ${g}, ${b}, ${opacity} % )";
|
|
mkRgb = mkRgba "100";
|
|
rofiOpacity =
|
|
builtins.toString (builtins.ceil (config.stylix.opacity.popups * 100));
|
|
rofiTheme = {
|
|
background = mkRgba rofiOpacity "base00";
|
|
lightbg = mkRgba rofiOpacity "base01";
|
|
red = mkRgba rofiOpacity "base08";
|
|
blue = mkRgba rofiOpacity "base0D";
|
|
lightfg = mkRgba rofiOpacity "base06";
|
|
foreground = mkRgba rofiOpacity "base05";
|
|
transparent = mkRgba "0" "base00";
|
|
|
|
background-color = mkLiteral "rgba ( 0, 0, 0, 0 % )";
|
|
separatorcolor = mkLiteral "@transparent";
|
|
border-color = mkLiteral "@foreground";
|
|
selected-normal-foreground = mkLiteral "@foreground";
|
|
selected-normal-background = mkLiteral "@lightbg";
|
|
selected-active-foreground = mkLiteral "@background";
|
|
selected-active-background = mkLiteral "@blue";
|
|
selected-urgent-foreground = mkLiteral "@background";
|
|
selected-urgent-background = mkLiteral "@red";
|
|
normal-foreground = mkLiteral "@foreground";
|
|
normal-background = mkLiteral "@transparent";
|
|
active-foreground = mkLiteral "@blue";
|
|
active-background = mkLiteral "@background";
|
|
urgent-foreground = mkLiteral "@red";
|
|
urgent-background = mkLiteral "@background";
|
|
alternate-normal-foreground = mkLiteral "@foreground";
|
|
alternate-normal-background = mkLiteral "@transparent";
|
|
alternate-active-foreground = mkLiteral "@blue";
|
|
alternate-active-background = mkLiteral "@background";
|
|
alternate-urgent-foreground = mkLiteral "@red";
|
|
alternate-urgent-background = mkLiteral "@background";
|
|
|
|
# Text Colors
|
|
base-text = mkRgb "base05";
|
|
selected-normal-text = mkRgb "base01";
|
|
selected-active-text = mkRgb "base00";
|
|
selected-urgent-text = mkRgb "base00";
|
|
normal-text = mkRgb "base05";
|
|
active-text = mkRgb "base0D";
|
|
urgent-text = mkRgb "base08";
|
|
alternate-normal-text = mkRgb "base05";
|
|
alternate-active-text = mkRgb "base0D";
|
|
alternate-urgent-text = mkRgb "base08";
|
|
};
|
|
in
|
|
{
|
|
home.file.".config/rofi" = {
|
|
enable = true;
|
|
recursive = true;
|
|
source = ../../.config/rofi;
|
|
};
|
|
|
|
home.file.".config/rofi/rofi_stylix_colors.rasi" = {
|
|
enable = true;
|
|
text = ''
|
|
* {
|
|
${builtins.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "${name}: ${value};") rofiTheme)}
|
|
}
|
|
'';
|
|
};
|
|
}
|