84 lines
1.5 KiB
Nix
84 lines
1.5 KiB
Nix
{ lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.theme = {
|
|
|
|
waybar-transparent = mkOption {
|
|
type = types.bool;
|
|
description = "Does waybar have a transparent background?";
|
|
};
|
|
|
|
wallpaper = mkOption {
|
|
type = types.str;
|
|
description = "Name of the wallpaper (in the wallpaper directory)";
|
|
};
|
|
|
|
font = mkOption {
|
|
type = types.str;
|
|
description = "Default font";
|
|
};
|
|
|
|
font-mono = mkOption {
|
|
type = types.str;
|
|
description = "Default mono font";
|
|
};
|
|
|
|
rounding = mkOption {
|
|
type = types.int;
|
|
description = "Borders rounding";
|
|
};
|
|
|
|
gaps-in = mkOption {
|
|
type = types.int;
|
|
description = "Gaps in";
|
|
};
|
|
|
|
gaps-out = mkOption {
|
|
type = types.int;
|
|
description = "Gaps out";
|
|
};
|
|
|
|
border-size = mkOption {
|
|
type = types.int;
|
|
description = "Border size";
|
|
};
|
|
|
|
colors = let
|
|
mkColorOption = name: {
|
|
inherit name;
|
|
value = mkOption {
|
|
type = types.strMatching "[a-fA-F0-9]{6}";
|
|
description = "Color ${name}.";
|
|
};
|
|
};
|
|
in listToAttrs (map mkColorOption [
|
|
"bg"
|
|
"fg"
|
|
"alt-bg"
|
|
"alt-fg"
|
|
"primary-bg"
|
|
"primary-fg"
|
|
"secondary-bg"
|
|
"secondary-fg"
|
|
"color0"
|
|
"color1"
|
|
"color2"
|
|
"color3"
|
|
"color4"
|
|
"color5"
|
|
"color6"
|
|
"color7"
|
|
"color8"
|
|
"color9"
|
|
"color10"
|
|
"color11"
|
|
"color12"
|
|
"color13"
|
|
"color14"
|
|
"color15"
|
|
]);
|
|
};
|
|
}
|