summaryrefslogtreecommitdiff
path: root/home/apps/caelestia/scheme.nix
blob: b454b783cbc1aef5c4e5792cd2fd485f66429748 (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
87
88
89
90
{
  lib,
  config,
  ...
}: let
  inherit (lib) mkIf;
  cfg = config.apps.caelestia;
  theme = config.theme.colors;
in {
  config = mkIf cfg.enable {
    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;
      };
    };
  };
}