Skip to content

Ferouk/bearded-nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bearded Theme for Neovim

GitHub stars GitHub issues GitHub contributors

Official port of the Bearded VS Code theme by BeardedBear, with 60+ flavors and plugin highlights.

Features

  • 🎨 60+ flavors (dark, light, high contrast) matching the official Bearded VS Code palettes
  • 🧭 Core UI coverage: statusline/tabline, splits, floats, diagnostics, diff, cursorline, terminal colors
  • 🌲 Syntax/Tree-sitter support plus LSP highlights and inlay hints
  • 🔌 Plugin highlights: Telescope, GitSigns, WhichKey, nvim-cmp, Neo-tree, treesitter-context, Noice, notify
  • 📊 Statusline helpers: lualine theme/default config and heirline palette helper
  • ⚡ Commands for quick switching: :BeardedReload <slug> or :colorscheme bearded-<slug>

🖼️ Preview

🎨 Arc Arc preview
🫐 Arc Blueberry Arc Blueberry preview
🌞 Classics Light Classics Light preview
⚡ HC Flurry HC Flurry preview
🍓 Milkshake Raspberry Milkshake Raspberry preview
🪐 Monokai Terra Monokai Terra preview
🌊 Oceanic Oceanic preview
🌤️ Solarized Light Solarized Light preview

📦 Install

Lazy.nvim:

{
  "Ferouk/bearded-nvim",
  name = "bearded",
  priority = 1000,
  build = function()
    -- Generate helptags so :h bearded-theme works
    local doc = vim.fs.joinpath(vim.fn.stdpath("data"), "lazy", "bearded", "doc")
    pcall(vim.cmd, "helptags " .. doc)
  end,
  config = function()
    require("bearded").setup({
      flavor = "arc", -- any flavor slug
    })
    vim.cmd.colorscheme("bearded")
  end,
}

Packer:

use({
  "Ferouk/bearded-nvim",
  run = ":helptags ALL", -- make :h bearded-theme available
  config = function()
    require("bearded").setup({ flavor = "arc" })
    vim.cmd.colorscheme("bearded")
  end,
})

🧑‍💻 Usage

require("bearded").setup({
  flavor = "arc",          -- see flavor list below
  transparent = false,
  bold = true,
  italic = true,
  dim_inactive = false,
  terminal_colors = true,
  on_highlights = function(set, palette, opts)
    -- optional override
    set("Normal", { fg = palette.ui.default })
  end,
})
vim.cmd.colorscheme("bearded")

Switch flavors on the fly:

  • :BeardedReload <slug> (no generated files required)
  • :colorscheme bearded-<slug> (uses prebuilt colorscheme stubs)

🌈 Flavors (slug)

Family Slugs
Arc
  • arc
  • arc-blueberry
  • arc-eggplant
  • arc-eolstorm
  • arc-reversed
Aquarelle
  • aquarelle-cymbidium
  • aquarelle-hydrangea
  • aquarelle-lilac
Exotic
  • altica
  • earth
  • coffee
  • coffee-cream
  • coffee-reversed
  • void
Black
  • black-&-amethyst(-soft)
  • black-&-diamond(-soft)
  • black-&-emerald(-soft)
  • black-&-gold(-soft)
  • black-&-ruby(-soft)
Classics
  • classics-anthracite
  • classics-light
Feat
  • feat-will
  • feat-webdevcody
  • feat-gold-d-raynh(-light)
  • feat-mellejulie(-light)
High Contrast
  • hc-ebony
  • hc-midnightvoid
  • hc-flurry
  • hc-wonderland-wood
  • hc-brewing-storm
  • hc-minuit
  • hc-chocolate-espresso
Milkshake
  • milkshake-vanilla
  • milkshake-mint
  • milkshake-raspberry
  • milkshake-mango
  • milkshake-blueberry
Monokai
  • monokai-terra
  • monokai-metallian
  • monokai-stone
  • monokai-black
  • monokai-reversed
Solarized/Ocean
  • oceanic
  • oceanic-reversed
  • solarized-dark
  • solarized-light
  • solarized-reversed
Stained
  • stained-blue
  • stained-purple
Surprising
  • surprising-eggplant
  • surprising-blueberry
  • surprising-watermelon
Other
  • themanopia
  • vivid-purple
  • vivid-black
  • vivid-light

🔌 Plugin highlights

  • Telescope, GitSigns, WhichKey, nvim-cmp
  • Neo-tree, treesitter-context
  • Noice, notify
  • Lualine helpers (theme + default config) and heirline palette helper

📊 Statusline examples

Lualine:

local bearded = require("bearded")
bearded.setup({ flavor = "arc" })

require("lualine").setup({
  options = {
    theme = require("bearded.plugins.lualine").theme(bearded.palette()),
  },
})

Default lualine config:

local bearded = require("bearded")
bearded.setup({ flavor = "arc" })
require("bearded.plugins.lualine_default").setup(bearded.palette())

Heirline palette helper:

local bearded = require("bearded")
local colors = require("bearded.plugins.heirline").colors(bearded.palette())
-- use colors.bg/fg/accent in your components

❓ Help

  • :h bearded-theme
  • Commands: :BeardedReload <slug>, :colorscheme bearded, :colorscheme bearded-<slug>

🙏 Credits

  • Theme design & official VS Code extension by BeardedBear

🤝 Contributing

See CONTRIBUTING.md for regeneration steps, formatting, and checks. CI runs stylua + smoke on push/PR.

📝 License

GPL-3.0-only. See LICENSE.

About

Official Bearded VS Code theme port for Neovim. 60+ flavors, UI/syntax/LSP coverage, plugin highlights, and quick flavor switching.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Contributors

Languages