nix/home/modules/theme.nix
2026-02-08 13:57:12 -05:00

62 lines
1.3 KiB
Nix

{ lib, config, pkgs, fonts, ... }:
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};
home.pointerCursor = {
name = "macOS";
package = pkgs.apple-cursor;
size = 24;
gtk.enable = true;
x11.enable = true;
};
home.file.".local/share/fonts".source = fonts;
};
}