local M = {} local with_alpha = function(color, alpha) if alpha > 1.0 or alpha < 0.0 then return color end return (color & 0x00FFFFFF) | (math.floor(alpha * 255.0) << 24) end local transparent = 0x00000000 local black = 0xFF000000 local gruvbox = { rosewater = 0xFFd4be98, -- Gruvbox light4 (closest to gruvbox rosewater) flamingo = 0xFFea6962, -- Gruvbox bright_red (closest to gruvbox flamingo) pink = 0xFFd3869b, -- Gruvbox bright_purple (closest to gruvbox pink) mauve = 0xFFd3869b, -- Gruvbox bright_purple (closest to gruvbox mauve) red = 0xFFcc241d, -- Gruvbox dark_red maroon = 0xFFfb4934, -- Gruvbox bright_red (closest to gruvbox maroon) peach = 0xFFfe8019, -- Gruvbox bright_orange (closest to gruvbox peach) yellow = 0xFFd79921, -- Gruvbox dark_yellow green = 0xFFb8bb26, -- Gruvbox bright_green (closest to gruvbox green) teal = 0xFF8ec07c, -- Gruvbox bright_aqua (closest to gruvbox teal) sky = 0xFF83a598, -- Gruvbox bright_blue (closest to gruvbox sky) sapphire = 0xFF83a598, -- Gruvbox bright_blue (closest to gruvbox sapphire) blue = 0xFF458588, -- Gruvbox dark_blue lavender = 0xFF83a598, -- Gruvbox bright_blue (closest to gruvbox lavender) text = 0xFFebdbb2, -- Gruvbox light0 subtext1 = 0xFFd5c4a1, -- Gruvbox light2 subtext0 = 0xFFbdae93, -- Gruvbox light3 overlay2 = 0xFFa89984, -- Gruvbox light4 overlay1 = 0xFF928374, -- Gruvbox gray overlay0 = 0xFF665c54, -- Gruvbox dark4 surface2 = 0xFF504945, -- Gruvbox dark3 surface1 = 0xFF3c3836, -- Gruvbox dark2 surface0 = 0xFF32302f, -- Gruvbox dark1 base = 0xFF282828, -- Gruvbox dark0 mantle = 0xFF1d2021, -- Gruvbox dark0_hard crust = 0xFF1d2021, -- Gruvbox dark0_hard } M.sections = { -- Core Components bar = { bg = black, border = black, }, item = { bg = gruvbox.surface0, border = black, text = gruvbox.text, }, popup = { bg = with_alpha(gruvbox.base, 0.7), border = gruvbox.crust, }, -- Items apple = gruvbox.flamingo, media = { label = gruvbox.text }, calendar = { label = gruvbox.text }, spaces = { icon = { color = gruvbox.subtext0, highlight = gruvbox.yellow, }, label = { color = gruvbox.subtext0, highlight = gruvbox.yellow, }, indicator = gruvbox.mauve, }, widgets = { battery = { low = gruvbox.red, mid = gruvbox.yellow, high = gruvbox.green, }, wifi = { icon = gruvbox.text, }, volume = { icon = gruvbox.blue, popup = { item = gruvbox.text, highlight = gruvbox.subtext0, bg = with_alpha(gruvbox.base, 0.7), }, slider = { highlight = gruvbox.text, bg = with_alpha(gruvbox.base, 0.7), border = gruvbox.surface0, }, }, messages = { icon = gruvbox.flamingo }, }, } return M