50 lines
1 KiB
Nix
50 lines
1 KiB
Nix
{ lib, config, ... }:
|
|
|
|
let
|
|
palettes = {
|
|
midnight = {
|
|
bg = "#121212";
|
|
fg = "#e0e0e0";
|
|
bgAlt = "#2d2d2d";
|
|
fgAlt = "#666666";
|
|
border = "#3d3d3d";
|
|
accent = "#7aa2f7";
|
|
green = "#98c379";
|
|
red = "#ff6b6b";
|
|
yellow = "#e5c07b";
|
|
blue = "#7aa2f7";
|
|
magenta = "#c678dd";
|
|
cyan = "#56b6c2";
|
|
bellFg = "#ff6b6b";
|
|
activityFg = "#7aa2f7";
|
|
};
|
|
daylight = {
|
|
bg = "#f5f5f5";
|
|
fg = "#1a1a1a";
|
|
bgAlt = "#ebebeb";
|
|
fgAlt = "#999999";
|
|
border = "#e8e8e8";
|
|
accent = "#3b5bdb";
|
|
green = "#2d7f3e";
|
|
red = "#c7254e";
|
|
yellow = "#996800";
|
|
blue = "#3b5bdb";
|
|
magenta = "#ae3ec9";
|
|
cyan = "#1098ad";
|
|
bellFg = "#c7254e";
|
|
activityFg = "#3b5bdb";
|
|
};
|
|
};
|
|
in {
|
|
options.theme = lib.mkOption {
|
|
type = lib.types.enum [ "midnight" "daylight" ];
|
|
default = "midnight";
|
|
};
|
|
|
|
options.colors = lib.mkOption {
|
|
type = lib.types.attrsOf lib.types.str;
|
|
readOnly = true;
|
|
};
|
|
|
|
config.colors = palettes.${config.theme};
|
|
}
|