72 lines
2.0 KiB
Nix
72 lines
2.0 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
c = config.theme.colors;
|
|
|
|
dmsTheme = {
|
|
id = "gruvbox";
|
|
name = "Gruvbox";
|
|
version = "1.0.0";
|
|
author = "ayman";
|
|
description = "Gruvbox Dark Medium from theme.nix";
|
|
dark = {
|
|
primary = c.green_b;
|
|
primaryContainer = c.green;
|
|
secondary = c.yellow;
|
|
surfaceText = c.fg;
|
|
surfaceVariantText = c.fg2;
|
|
backgroundText = c.fg;
|
|
outline = c.gray;
|
|
error = c.red_b;
|
|
warning = c.orange_b;
|
|
info = c.blue_b;
|
|
};
|
|
light = {
|
|
primary = c.green;
|
|
primaryContainer = c.green_b;
|
|
secondary = c.yellow_b;
|
|
surfaceText = c.bg;
|
|
surfaceVariantText = c.bg1;
|
|
backgroundText = c.bg;
|
|
outline = c.bg4;
|
|
error = c.red;
|
|
warning = c.orange;
|
|
info = c.blue;
|
|
};
|
|
variants = {
|
|
default = "medium";
|
|
options = [
|
|
{
|
|
id = "medium";
|
|
name = "Medium";
|
|
dark = {
|
|
primaryText = c.bg0_h;
|
|
surface = c.bg0_h;
|
|
surfaceVariant = c.bg;
|
|
surfaceTint = c.bg1;
|
|
background = c.bg;
|
|
surfaceContainer = c.bg0_s;
|
|
surfaceContainerHigh = c.bg1;
|
|
surfaceContainerHighest = c.bg2;
|
|
};
|
|
light = {
|
|
primaryText = c.fg;
|
|
surface = c.fg;
|
|
surfaceVariant = c.fg1;
|
|
surfaceTint = c.fg2;
|
|
background = c.fg1;
|
|
surfaceContainer = c.fg2;
|
|
surfaceContainerHigh = c.fg3;
|
|
surfaceContainerHighest = c.fg4;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
in
|
|
{
|
|
home.file.".config/DankMaterialShell/themes/gruvbox/theme.json" = {
|
|
text = builtins.toJSON dmsTheme;
|
|
force = true;
|
|
};
|
|
}
|