Gruvbox
Just a handful of hex values. That's the whole project. Here's why people care.
What it is
A color scheme. Background, foreground, accent colors, shades of gray. The kind of thing you configure once and never think about again—except I thought about it constantly, for months, until I stopped being able to see straight.
Ambers and ochres. Muted greens. Grays that lean so warm people check their display settings.
The name is gruvbox. I was 24. Don’t ask.
Why people use it
Honestly? I don’t fully know. I made a thing for myself, pushed it to the internet, and now strangers stare at it eight hours a day. If I understood why, I’d bottle it.
I built a full Vim theme to prove the palette worked. The community carried it everywhere else—the ports, the keycaps, the themed desktops.
The feedback I get most: “easy on the eyes.” People say they switched from something brighter and didn’t want to switch back. They say it feels “warm” or “calm.” One person said it reminded them of their grandmother’s house. I’ll take it.
I know I’ve been on a Tokyo Night kick, but damn, Gruvbox is groovy too!
View on X →
Gruvbox doesn’t pop. I made it for myself, at 2 AM, squinting. That it works for anyone else still surprises me.
How it started
In 2012, Solarized was the gold standard. Ethan Schoonover had done real work: CIELAB color space, carefully tuned contrast, mathematically derived relationships. Every “my setup” post, every dotfiles repo, every conference slide deck—those precise, scientific blues. Solarized was technically impeccable.
I gave it three months. Every day felt like writing code under a surgical lamp. I couldn’t take it.
I did what developers do. Tried everything else. Jellybeans. Badwolf. Molokai. Zenburn. I must have installed fifty schemes that year. None of them stuck. Too bright, too muddy, too purple.
So I made my own. Took about a week. I started pulling from places that felt right: 1970s posters, old paper, the warmth of things that existed before everything was backlit. Test it against Python. Then Ruby. Then Clojure. Adjust hue by one degree. Test again. Compare on my laptop, my monitor, a friend’s monitor. Ask someone which version they preferred. Ignore them completely.
What happened next
I pushed it to GitHub in late 2012 and kept working on it. Light mode. Contrast variants. The kind of quiet maintenance that doesn’t feel like a project—just housekeeping.
A few months later, someone asked to port it to Sublime. Sure. Then Emacs. Then Atom. Then VS Code. Each time I thought: huh, okay, neat. And then I’d go back to whatever I was doing.
Then I started seeing it places.
Reddit screenshots. Stack Overflow answers. YouTube tutorials. A conference talk. Someone’s themed desktop on r/unixporn.
People I’d never met were spending their entire workday looking at colors I’d picked on a random weekend. I’m grateful for that, genuinely.
The gruvbox-contrib repo filled up with ports: terminals, editors, GTK themes, icon packs, status bars, notification daemons.
I just design what I like, I don’t care much if people are gonna like it :DView screenshot →
The inspiration is gruvbox btw, it was very difficult to work on colors for various reasons so we weren’t able to match 100% my vision, but it’s okay.
I never wrote a launch post. Never ran a marketing campaign. The spread just happened on its own: screenshot to screenshot, dotfiles to dotfiles.
Over a decade later
Still use it every day. Same colors I picked in 2012. Tried switching twice—once to something darker, once to something cooler. Lasted about a week each time.
A color scheme is trivial—just a config file and a list of hex codes. But you stare at it for thousands of hours. It becomes the texture of your work. Eventually you stop seeing it at all, and that’s when you know it’s right.
Thirteen years. Apparently I got this one right.