chad nvim theme overlay lol

This commit is contained in:
Harivansh Rathi 2025-12-29 01:01:05 +05:30
parent efe8d19d7a
commit 2c1131fe8e
6 changed files with 119 additions and 59 deletions

27
lua/chadrc.lua Normal file
View file

@ -0,0 +1,27 @@
---@type ChadrcConfig
local M = {}
M.base46 = {
theme = "gruvbox", -- NvChad's gruvbox theme
transparency = true, -- Keep your transparent mode
-- theme_toggle = { "gruvbox", "gruvbox_light" },
}
M.ui = {
statusline = {
enabled = true,
theme = "default", -- options: default, vscode, vscode_colored, minimal
separator_style = "round", -- default, round, block, arrow
},
tabufline = {
enabled = true,
lazyload = true,
},
}
-- Disable nvdash if you want to keep your dashboard.lua
M.nvdash = {
load_on_startup = false,
}
return M

View file

@ -1,51 +1,26 @@
return {
{
"ellisonleao/gruvbox.nvim",
name = "gruvbox",
priority = 1000,
lazy = false,
config = function()
require("gruvbox").setup({
contrast = "hard", -- can be "hard", "soft" or empty string
transparent_mode = true,
})
end,
},
{
"datsfilipe/vesper.nvim",
name = "vesper",
priority = 1000,
lazy = false,
},
{
'maxmx03/solarized.nvim',
lazy = false,
priority = 1000,
---@type solarized.config
opts = {},
},
{
"folke/tokyonight.nvim",
name = "tokyonight",
priority = 1000,
lazy = false,
config = function()
-- Always use Gruvbox dark
vim.o.background = "dark"
vim.cmd.colorscheme("gruvbox")
-- Colorschemes disabled - using NvChad base46 for theming
-- Use :lua require('nvchad.themes').open() to switch themes
-- Or modify lua/chadrc.lua to change the default theme
-- Add command to manually toggle if needed
vim.api.nvim_create_user_command("ToggleTheme", function()
if vim.g.colors_name == "gruvbox" then
vim.o.termguicolors = true
vim.o.background = "light"
require('solarized').setup({})
vim.cmd.colorscheme("solarized")
else
vim.o.background = "dark"
vim.cmd.colorscheme("gruvbox")
end
end, {})
end,
},
return {
-- Keep these as fallbacks if needed (lazy loaded, won't interfere)
-- {
-- "ellisonleao/gruvbox.nvim",
-- name = "gruvbox",
-- enabled = false,
-- },
-- {
-- "datsfilipe/vesper.nvim",
-- name = "vesper",
-- enabled = false,
-- },
-- {
-- 'maxmx03/solarized.nvim',
-- enabled = false,
-- },
-- {
-- "folke/tokyonight.nvim",
-- name = "tokyonight",
-- enabled = false,
-- },
}

View file

@ -1,5 +1,9 @@
-- Disabled: Using NvChad statusline instead
-- To re-enable lualine: set enabled = true below AND
-- in lua/chadrc.lua set M.ui.statusline.enabled = false
return {
'nvim-lualine/lualine.nvim',
enabled = false, -- Disabled in favor of NvChad statusline
event = 'VeryLazy',
dependencies = { 'nvim-tree/nvim-web-devicons' },
opts = {

35
lua/plugins/nvchad.lua Normal file
View file

@ -0,0 +1,35 @@
return {
"nvim-lua/plenary.nvim",
{
"nvchad/base46",
lazy = false,
priority = 1000,
build = function()
require("base46").load_all_highlights()
end,
config = function()
-- Generate cache on first load if it doesn't exist
local cache_path = vim.g.base46_cache
if not vim.uv.fs_stat(cache_path) then
vim.fn.mkdir(cache_path, "p")
require("base46").load_all_highlights()
end
end,
},
{
"nvchad/ui",
lazy = false,
priority = 999,
config = function()
require("nvchad")
end,
},
-- Optional: theme switcher UI (use :lua require('nvchad.themes').open())
{
"nvchad/volt",
lazy = true,
},
}