mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
125 lines
4.3 KiB
Nix
125 lines
4.3 KiB
Nix
let
|
|
transparent = color: "alpha(${color}, {{custom.transparency}})";
|
|
mkBgColor = color: {
|
|
${color} = {
|
|
background_lift = "{{colors.${color}_dim.default.hex}}";
|
|
background = "{{colors.${color}_dim.default.hex}}";
|
|
foreground = "{{colors.on_${color}.default.hex}}";
|
|
};
|
|
};
|
|
mkColor = color: {
|
|
${color} = {
|
|
standalone = "{{colors.${color}_fixed_dim.default.hex}}";
|
|
background = "{{colors.${color}_fixed.default.hex}}";
|
|
foreground = "{{colors.on_${color}_fixed.default.hex}}";
|
|
};
|
|
};
|
|
mkSemantic = color: {
|
|
${color} = {
|
|
standalone = "{{colors.${color}.default.hex}}";
|
|
background = "{{colors.${color}.default.hex}}";
|
|
foreground = "{{colors.on_${color}.default.hex}}";
|
|
};
|
|
};
|
|
colors =
|
|
(mkColor "primary")
|
|
// (mkColor "secondary")
|
|
// (mkColor "tertiary")
|
|
// (mkSemantic "danger")
|
|
// (mkSemantic "warning")
|
|
// (mkSemantic "success")
|
|
// (mkSemantic "error")
|
|
// (mkSemantic "info")
|
|
// (mkBgColor "background")
|
|
// (mkBgColor "surface")
|
|
// (mkBgColor "surface_variant")
|
|
// {
|
|
outline = "{{colors.outline.default.hex}}";
|
|
container = {
|
|
lowest = "{{colors.surface_container_lowest.default.hex}}";
|
|
low = "{{colors.surface_container_low.default.hex}}";
|
|
default = "{{colors.surface_container.default.hex}}";
|
|
high = "{{colors.surface_container_high.default.hex}}";
|
|
highest = "{{colors.surface_container_highest.default.hex}}";
|
|
foreground = "{{colors.on_surface.default.hex}}";
|
|
};
|
|
shade = {
|
|
default = "rgba(0, 0, 0, 0.07)";
|
|
darker = "rgba(0, 0, 0, 0.12)";
|
|
};
|
|
};
|
|
|
|
# https://github.com/AvengeMedia/DankMaterialShell/blob/master/matugen/templates/gtk-colors.css
|
|
gtk = rec {
|
|
accent_color = colors.primary.standalone;
|
|
accent_bg_color = colors.primary.background;
|
|
accent_fg_color = colors.primary.foreground;
|
|
|
|
window_bg_color = transparent colors.surface.background;
|
|
window_fg_color = colors.surface.foreground;
|
|
|
|
popover_bg_color = transparent colors.surface.background;
|
|
popover_fg_color = colors.surface.foreground;
|
|
|
|
headerbar_bg_color = transparent colors.surface.background;
|
|
headerbar_fg_color = colors.surface.foreground;
|
|
|
|
view_bg_color = transparent colors.surface.background_lift;
|
|
view_fg_color = colors.surface.foreground;
|
|
|
|
card_bg_color = colors.surface.background_lift;
|
|
card_fg_color = colors.surface.foreground;
|
|
|
|
sidebar_bg_color = window_bg_color;
|
|
sidebar_fg_color = window_fg_color;
|
|
|
|
sidebar_border_color = colors.surface.background;
|
|
sidebar_backdrop_color = window_bg_color;
|
|
|
|
destructive_color = colors.danger.standalone;
|
|
destructive_bg_color = colors.danger.background;
|
|
destructive_fg_color = colors.danger.foreground;
|
|
|
|
success_color = colors.success.standalone;
|
|
success_bg_color = colors.success.background;
|
|
success_fg_color = colors.success.foreground;
|
|
|
|
warning_color = colors.warning.standalone;
|
|
warning_bg_color = colors.warning.background;
|
|
warning_fg_color = colors.warning.foreground;
|
|
|
|
error_color = colors.error.standalone;
|
|
error_bg_color = colors.error.background;
|
|
error_fg_color = colors.error.foreground;
|
|
|
|
/*
|
|
headerbar_border_color = colors.outline;
|
|
headerbar_backdrop_color = transparent colors.background.background;
|
|
headerbar_shade_color = colors.shade.default;
|
|
headerbar_darker_shade_color = colors.shade.darker;
|
|
|
|
card_shade_color = colors.shade.default;
|
|
|
|
dialog_bg_color = transparent colors.background.background;
|
|
dialog_fg_color = colors.background.foreground;
|
|
popover_shade_color = colors.shade.default;
|
|
|
|
shade_color = colors.shade.default;
|
|
scrollbar_outline_color = colors.outline;
|
|
|
|
thumbnail_bg_color = colors.secondary.background;
|
|
thumbnail_fg_color = colors.secondary.foreground;
|
|
|
|
sidebar_shade_color = colors.shade.default;
|
|
|
|
secondary_sidebar_bg_color = transparent colors.surface_variant.background;
|
|
secondary_sidebar_fg_color = colors.surface_variant.foreground;
|
|
secondary_sidebar_backdrop_color = transparent colors.surface_variant.background;
|
|
secondary_sidebar_shade_color = colors.shade.default;
|
|
*/
|
|
};
|
|
in
|
|
builtins.concatStringsSep "\n" (
|
|
builtins.map (name: "@define-color ${name} ${builtins.getAttr name gtk};") (builtins.attrNames gtk)
|
|
)
|