1
Fork 0

Add gruvbox theme

This commit is contained in:
prescientmoon 2024-04-29 15:50:59 +02:00
parent b09a445939
commit caf3bec5a5
Signed by: prescientmoon
SSH key fingerprint: SHA256:UUF9JT2s8Xfyv76b8ZuVL7XrmimH4o49p4b+iexbVH4
18 changed files with 183 additions and 195 deletions

View file

@ -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" },

View file

@ -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 },

View 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
-- }}}