summaryrefslogtreecommitdiff
path: root/home/apps/caelestia/scheme.nix
blob: ffb46c61d830aa5725781700d461de8a874f8c21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{
  lib,
  config,
  ...
}: let
  theme = config.theme.colors;
in {
  xdg.configFile."caelestia/scheme.json".text = lib.generators.toJSON {} {
    name = theme.name;
    flavour = "";
    mode = "dark";
    variant = "";
    colours = {
      primary_paletteKeyColor = theme.primary;
      secondary_paletteKeyColor = theme.secondary;
      tertiary_paletteKeyColor = theme.tertiary;
      neutral_paletteKeyColor = theme.overlay;
      neutral_variant_paletteKeyColor = "777680";
      background = theme.base;
      onBackground = theme.text;
      surface = theme.surface;
      surfaceDim = theme.base;
      surfaceBright = theme.overlay;
      surfaceContainerLowest = theme.base;
      surfaceContainerLow = theme.base;
      surfaceContainer = theme.base;
      surfaceContainerHigh = theme.surface;
      surfaceContainerHighest = theme.overlay;
      onSurface = theme.text;
      surfaceVariant = theme.text;
      onSurfaceVariant = theme.subtext;
      inverseSurface = theme.text;
      inverseOnSurface = theme.surface;
      outline = theme.primary;
      outlineVariant = theme.primary;
      shadow = "000000";
      scrim = "000000";
      surfaceTint = theme.primary;
      primary = theme.primary;
      onPrimary = theme.surface;
      primaryContainer = theme.primary;
      onPrimaryContainer = theme.surface;
      inversePrimary = theme.surface;
      secondary = theme.secondary;
      onSecondary = theme.surface;
      secondaryContainer = theme.secondary;
      onSecondaryContainer = theme.surface;
      tertiary = theme.tertiary;
      onTertiary = theme.surface;
      tertiaryContainer = theme.tertiary;
      onTertiaryContainer = theme.surface;
      error = theme.error;
      onError = theme.text;
      errorContainer = theme.error;
      onErrorContainer = theme.text;
      primaryFixed = theme.primary;
      primaryFixedDim = theme.primary;
      onPrimaryFixed = theme.primary;
      onPrimaryFixedVariant = theme.primary;
      secondaryFixed = theme.secondary;
      secondaryFixedDim = theme.primary;
      onSecondaryFixed = theme.secondary;
      onSecondaryFixedVariant = theme.secondary;
      tertiaryFixed = theme.tertiary;
      tertiaryFixedDim = theme.tertiary;
      onTertiaryFixed = theme.tertiary;
      onTertiaryFixedVariant = theme.tertiary;
      term0 = theme.normal.black;
      term1 = theme.normal.red;
      term2 = theme.normal.green;
      term3 = theme.normal.yellow;
      term4 = theme.normal.blue;
      term5 = theme.normal.magenta;
      term6 = theme.normal.cyan;
      term7 = theme.normal.white;
      term8 = theme.bright.black;
      term9 = theme.bright.red;
      term10 = theme.bright.green;
      term11 = theme.bright.yellow;
      term12 = theme.bright.blue;
      term13 = theme.bright.magenta;
      term14 = theme.bright.cyan;
      term15 = theme.bright.white;
    };
  };
}