Add gruvbox theme
This commit is contained in:
parent
b09a445939
commit
caf3bec5a5
18 changed files with 183 additions and 195 deletions
home/features/neovim/config
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"catppuccin": { "branch": "main", "commit": "9703f227bfab20d04bcee62d2f08f1795723b4ae" },
|
||||
"clipboard-image": { "branch": "main", "commit": "485de5493d196154db30f85665f8ac480ce116a2" },
|
||||
"cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
|
@ -18,6 +17,7 @@
|
|||
"github-actions": { "branch": "master", "commit": "f2f16243447cea174daa6b4a9ffd3ff9213814ef" },
|
||||
"gitlinker": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" },
|
||||
"gitsigns": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
|
||||
"gruvbox": { "branch": "main", "commit": "6e4027ae957cddf7b193adfaec4a8f9e03b4555f" },
|
||||
"harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" },
|
||||
"haskell-tools": { "branch": "master", "commit": "92e097c6832405fb64e4c44a7ce8bebe7836cae6" },
|
||||
"hyprland": { "branch": "main", "commit": "71760fe0cad972070657b0528f48456f7e0027b2" },
|
||||
|
|
|
@ -6,8 +6,8 @@ end
|
|||
|
||||
function M.setup()
|
||||
require("lazy").setup({
|
||||
importFrom("my.plugins"),
|
||||
importFrom("my.plugins.themes"),
|
||||
require("my.plugins.themes"),
|
||||
require("my.plugins.whichkey"),
|
||||
unpack(require("nix").lazy),
|
||||
}, {
|
||||
defaults = { lazy = true },
|
||||
|
|
99
home/features/neovim/config/lua/my/plugins/themes.lua
Normal file
99
home/features/neovim/config/lua/my/plugins/themes.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
local H = require("my.tempest")
|
||||
local M = {}
|
||||
|
||||
-- {{{ Custom overrides
|
||||
local function theme(callback)
|
||||
return function()
|
||||
if H.theme.polarity ~= nil then
|
||||
vim.o.background = H.theme.polarity
|
||||
end
|
||||
|
||||
callback()
|
||||
|
||||
if H.theme.transparency.terminal.enabled then
|
||||
vim.cmd([[highlight FloatBorder blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineInactive blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight MiniStatuslineFilename blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineFileinfo blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineDevInfo blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight Statusline blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight StatuslineNC blend=0 guibg=NONE]])
|
||||
end
|
||||
end
|
||||
end
|
||||
-- }}}
|
||||
-- {{{ Catppuccin
|
||||
table.insert(M, {
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
lazy = false,
|
||||
enabled = H.theme_contains("Catppuccin"),
|
||||
config = theme(function()
|
||||
local catppuccin = require("catppuccin")
|
||||
vim.g.catppuccin_flavour = H.theme_variant("Catppuccin")
|
||||
|
||||
catppuccin.setup({
|
||||
transparent_background = H.theme.transparency.terminal.enabled,
|
||||
integrations = {
|
||||
nvimtree = true,
|
||||
telescope = true,
|
||||
mini = { enabled = true },
|
||||
},
|
||||
})
|
||||
|
||||
vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]])
|
||||
vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]])
|
||||
|
||||
vim.cmd("colorscheme catppuccin")
|
||||
end),
|
||||
})
|
||||
-- }}}
|
||||
-- {{{ Rose-pine
|
||||
table.insert(M, {
|
||||
"rose-pine/neovim",
|
||||
name = "rose-pine",
|
||||
lazy = false,
|
||||
enabled = H.theme_contains("Rosé Pine"),
|
||||
config = theme(function()
|
||||
local variant = H.theme_variant("Rosé Pine")
|
||||
|
||||
if variant == "" then
|
||||
variant = "main"
|
||||
end
|
||||
|
||||
require("rose-pine").setup({
|
||||
dark_variant = variant,
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme rose-pine")
|
||||
end),
|
||||
})
|
||||
-- }}}
|
||||
-- {{{ Gruvbox
|
||||
table.insert(M, {
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
name = "gruvbox",
|
||||
lazy = false,
|
||||
enabled = H.theme_contains("Gruvbox"),
|
||||
config = theme(function()
|
||||
local variant = H.theme_variant("Gruvbox")
|
||||
local contrast = H.helpers.drop_prefix(variant, H.theme.polarity .. ", ")
|
||||
|
||||
require("gruvbox").setup({
|
||||
contrast = contrast,
|
||||
transparent_mode = H.theme.transparency.terminal.enabled,
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme gruvbox")
|
||||
vim.cmd(
|
||||
"hi MiniStatuslineDevInfo guibg=#"
|
||||
.. H.theme.base06
|
||||
.. " guifg=#"
|
||||
.. H.theme.base00
|
||||
)
|
||||
vim.cmd("redraw")
|
||||
end),
|
||||
})
|
||||
-- }}}
|
||||
|
||||
return M
|
|
@ -1,21 +0,0 @@
|
|||
local H = require("my.tempest")
|
||||
|
||||
local M = {
|
||||
"uloco/bluloco.nvim",
|
||||
lazy = false,
|
||||
dependencies = { "rktjmp/lush.nvim" },
|
||||
enabled = H.theme_contains("Bluloco"),
|
||||
}
|
||||
|
||||
function M.config()
|
||||
local bluloco = require("bluloco")
|
||||
|
||||
bluloco.setup({
|
||||
transparent = H.theme.transaprency.terminal.enabled,
|
||||
style = H.theme_variant("Bluloco"),
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme bluloco")
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,39 +0,0 @@
|
|||
local H = require("my.tempest")
|
||||
|
||||
local M = {
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
lazy = false,
|
||||
enabled = H.theme_contains("Catppuccin"),
|
||||
}
|
||||
|
||||
function M.config()
|
||||
local catppuccin = require("catppuccin")
|
||||
vim.g.catppuccin_flavour = H.theme_variant("Catppuccin")
|
||||
|
||||
catppuccin.setup({
|
||||
transparent_background = H.theme.transparency.terminal.enabled,
|
||||
integrations = {
|
||||
nvimtree = true,
|
||||
telescope = true,
|
||||
mini = { enabled = true },
|
||||
},
|
||||
})
|
||||
|
||||
vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]])
|
||||
vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]])
|
||||
|
||||
vim.cmd("colorscheme catppuccin")
|
||||
|
||||
if H.theme.transparency.terminal.enabled then
|
||||
vim.cmd([[highlight FloatBorder blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineInactive blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight MiniStatuslineFilename blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineFileinfo blend=0 guibg=NONE]])
|
||||
-- vim.cmd([[highlight MiniStatuslineDevInfo blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight Statusline blend=0 guibg=NONE]])
|
||||
vim.cmd([[highlight StatuslineNC blend=0 guibg=NONE]])
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,31 +0,0 @@
|
|||
local H = require("my.tempest")
|
||||
|
||||
local M = {
|
||||
"rose-pine/neovim",
|
||||
name = "rose-pine",
|
||||
lazy = false,
|
||||
enabled = H.theme_contains("Rosé Pine"),
|
||||
}
|
||||
|
||||
function M.config()
|
||||
local variant = H.theme_variant("Rosé Pine")
|
||||
|
||||
if variant == "dawn" then
|
||||
vim.o.background = "light"
|
||||
else
|
||||
vim.o.background = "dark"
|
||||
end
|
||||
|
||||
local dark_variants = {
|
||||
[""] = "main",
|
||||
moon = "moon",
|
||||
}
|
||||
|
||||
require("rose-pine").setup({
|
||||
dark_variant = dark_variants[variant],
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme rose-pine")
|
||||
end
|
||||
|
||||
return M
|
|
@ -31,6 +31,11 @@ function H.split(text, sep)
|
|||
end)
|
||||
return fields
|
||||
end
|
||||
|
||||
function H.drop_prefix(whole, prefix)
|
||||
-- +1 for 1-indexed strings
|
||||
return string.sub(whole, string.len(prefix) + 1)
|
||||
end
|
||||
-- }}}
|
||||
-- {{{ Tables
|
||||
function H.mergeTables(t1, t2)
|
||||
|
@ -326,8 +331,7 @@ function M.theme_contains(name)
|
|||
end
|
||||
|
||||
function M.theme_variant(name)
|
||||
-- +1 for 1-indexed strings and +1 for the space between name and variant
|
||||
return string.lower(string.sub(theme.name, string.len(name) + 2))
|
||||
return string.lower(H.drop_prefix(theme.name, name .. " "))
|
||||
end
|
||||
-- }}}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue