config/colors.nix
2022-05-16 17:44:49 +02:00

121 lines
1.8 KiB
Nix

# Color schemes.
let inherit (builtins) mapAttrs map; in rec {
# A simple dark theme with vibrant colors.
"dark" = rec {
# Determines the background for applications such as the terminal,
# status bars or WM elements.
background = {
primary = "1a1a1a";
normal = "212121";
slight = "535353";
};
# Determines the foreground color of text.
foreground = {
primary = "fafafa";
normal = "efefef";
slight = "bdbdbd";
};
grayscales = [
"121212"
background.primary
background.normal
"2a2a2a"
"323232"
"424242"
"4a4a4a"
background.slight
"646464"
"6a6a6a"
"757575"
"7a7a7a"
"868686"
"8a8a8a"
"979797"
"9a9a9a"
"a8a8a8"
"aaaaaa"
"b9b9b9"
foreground.slight
"cacaca"
"dadada"
"eaeaea"
foreground.normal
foreground.primary
];
red = {
normal = "ff6161";
bright = "ff3b3b";
pastel = "ff7588";
};
green = {
normal = "8aff80";
bright = "29f26c";
pastel = "";
};
blue = {
normal = "30c7ff";
bright = "00e1ff";
pastel = "";
};
yellow = {
normal = "fcfc51";
bright = "fcfc51";
pastel = "";
};
purple = {
normal = "b58aff";
bright = "c97ffa";
pastel = "d9b5ff";
};
cyan = {
normal = "29f8ff";
bright = "26e3fc";
pastel = "63e8ff";
};
pink = {
normal = "ee8fff";
bright = "ff63e5";
pastel = "ff96e3";
};
orange = {
normal = "ff8c26";
bright = "fca151";
pastel = "";
};
misc = {
blueGrey = "9ccdd9";
teal = "00ccad";
lime = "d5ff63";
};
hex = mapAttrs (name: value:
if name == "grayscales"
then map (v: "#" + v) value
else if name == "hex"
then value
else mapAttrs (n: v: "#" + v) value
) (dark);
};
}