mirror of
https://github.com/nickolaj-jepsen/nixos.git
synced 2026-01-22 16:16:50 +01:00
62 lines
2.3 KiB
Nix
62 lines
2.3 KiB
Nix
|
|
# Centralized theme configuration (Flexoki-inspired)
|
||
|
|
# See: https://stephango.com/flexoki
|
||
|
|
{lib, ...}: {
|
||
|
|
options.fireproof.theme = let
|
||
|
|
mkColorOption = default: description:
|
||
|
|
lib.mkOption {
|
||
|
|
type = lib.types.str;
|
||
|
|
inherit default description;
|
||
|
|
example = default;
|
||
|
|
};
|
||
|
|
in {
|
||
|
|
colors = {
|
||
|
|
# Background colors
|
||
|
|
bg = mkColorOption "1C1B1A" "Primary background color";
|
||
|
|
bgAlt = mkColorOption "282726" "Alternative background color";
|
||
|
|
|
||
|
|
# Foreground colors
|
||
|
|
fg = mkColorOption "DAD8CE" "Primary foreground/text color";
|
||
|
|
fgAlt = mkColorOption "B7B5AC" "Alternative foreground color";
|
||
|
|
|
||
|
|
# UI colors
|
||
|
|
muted = mkColorOption "878580" "Muted/disabled text color";
|
||
|
|
ui = mkColorOption "343331" "UI element background";
|
||
|
|
uiAlt = mkColorOption "403E3C" "Alternative UI element background";
|
||
|
|
|
||
|
|
# Base colors
|
||
|
|
black = mkColorOption "100F0F" "Black (darkest)";
|
||
|
|
white = mkColorOption "DAD8CE" "White (same as fg)";
|
||
|
|
whiteAlt = mkColorOption "F2F0E5" "Bright white";
|
||
|
|
|
||
|
|
# Accent color
|
||
|
|
accent = mkColorOption "CF6A4C" "Primary accent color";
|
||
|
|
|
||
|
|
# Semantic colors
|
||
|
|
red = mkColorOption "D14D41" "Red (errors, destructive)";
|
||
|
|
redAlt = mkColorOption "AF3029" "Dark red";
|
||
|
|
orange = mkColorOption "DA702C" "Orange (warnings)";
|
||
|
|
orangeAlt = mkColorOption "BC5215" "Dark orange";
|
||
|
|
yellow = mkColorOption "D0A215" "Yellow (caution)";
|
||
|
|
yellowAlt = mkColorOption "AD8301" "Dark yellow";
|
||
|
|
green = mkColorOption "879A39" "Green (success)";
|
||
|
|
greenAlt = mkColorOption "66800B" "Dark green";
|
||
|
|
cyan = mkColorOption "3AA99F" "Cyan";
|
||
|
|
cyanAlt = mkColorOption "24837B" "Dark cyan";
|
||
|
|
blue = mkColorOption "4385BE" "Blue (info, links)";
|
||
|
|
blueAlt = mkColorOption "205EA6" "Dark blue";
|
||
|
|
purple = mkColorOption "8B7EC8" "Purple";
|
||
|
|
purpleAlt = mkColorOption "5E409D" "Dark purple";
|
||
|
|
magenta = mkColorOption "CE5D97" "Magenta";
|
||
|
|
magentaAlt = mkColorOption "A02F6F" "Dark magenta";
|
||
|
|
};
|
||
|
|
|
||
|
|
# HSL variants for tools that need them (like Glance)
|
||
|
|
hsl = {
|
||
|
|
bg = mkColorOption "30 4 11" "Background in HSL";
|
||
|
|
accent = mkColorOption "14 56 55" "Accent in HSL";
|
||
|
|
green = mkColorOption "72 59 38" "Green in HSL";
|
||
|
|
red = mkColorOption "5 64 54" "Red in HSL";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|