mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 11:36:20 +00:00
feat: sick theming
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
function(colors)
|
||||
return {
|
||||
CmpItemKindCopilot = { fg = colors.teal },
|
||||
CmpItemKindNpm = { fg = colors.maroon },
|
||||
|
||||
-- IntelliJ Theme
|
||||
Constant = { fg = colors.mauve },
|
||||
Character = { link = "Keyword" },
|
||||
Number = { fg = colors.sapphire },
|
||||
Boolean = { link = "Keyword" },
|
||||
Identifier = { fg = colors.text },
|
||||
Function = { fg = colors.blue },
|
||||
Statement = { fg = colors.text },
|
||||
Conditional = { link = "Keyword" },
|
||||
Repeat = { link = "Keyword" },
|
||||
Label = { link = "Keyword" },
|
||||
Operator = { fg = colors.text },
|
||||
Keyword = { fg = colors.peach },
|
||||
Exception = { link = "Keyword" },
|
||||
Include = { link = "Keyword" },
|
||||
Structure = { fg = colors.yellow },
|
||||
Type = { fg = colors.teal },
|
||||
|
||||
SpellBad = { sp = colors.green, style = { "underdotted" } },
|
||||
SpellCap = { sp = colors.green, style = { "underdotted" } },
|
||||
SpellLocal = { sp = colors.green, style = { "underdotted" } },
|
||||
SpellRare = { sp = colors.green, style = { "underdotted" } },
|
||||
|
||||
["@constructor"] = { link = "Keyword" },
|
||||
["@constructor.typescript"] = { link = "@constructor" },
|
||||
["@parameter"] = { link = "Identifier" },
|
||||
|
||||
["@tag"] = { link = "Structure" },
|
||||
["@tag.delimiter"] = { link = "Structure" },
|
||||
["@tag.attribute"] = { fg = colors.mauve, style = { "italic" } }, -- Constant
|
||||
|
||||
["@keyword.function"] = { link = "Keyword" },
|
||||
["@keyword.operator"] = { link = "Keyword" },
|
||||
["@keyword.return"] = { link = "Keyword" },
|
||||
["@keyword.export"] = { link = "Keyword" },
|
||||
|
||||
["@punctuation.special"] = { link = "Operator" },
|
||||
["@conditional.ternary"] = { link = "Operator" },
|
||||
|
||||
["@type.builtin"] = { link = "Keyword" },
|
||||
["@variable.builtin"] = { link = "Keyword" },
|
||||
["@lsp.typemod.class.defaultLibrary"] = { fg = colors.yellow, style = { "bold" } }, -- Structure
|
||||
["@lsp.typemod.variable.defaultLibrary"] = { fg = colors.mauve, style = { "bold" } }, -- Constant
|
||||
["@lsp.typemod.function.defaultLibrary"] = { fg = colors.blue, style = { "bold" } }, -- Function
|
||||
|
||||
["@variable"] = { link = "Constant" },
|
||||
["@field"] = { link = "Constant" },
|
||||
["@label.json"] = { link = "Constant" },
|
||||
["@label.jsonc"] = { link = "Constant" },
|
||||
["@property"] = { link = "Constant" },
|
||||
["@property.typescript"] = { link = "@property" },
|
||||
["@lsp.type.property"] = { link = "Constant" },
|
||||
["@lsp.type.interface"] = { link = "Structure" },
|
||||
["@lsp.type.namespace"] = { link = "Structure" },
|
||||
["@attribute.typescript"] = { link = "Structure" },
|
||||
|
||||
["@lsp.mod.local"] = { fg = colors.text },
|
||||
["@lsp.mod.readonly"] = { style = { "italic" } },
|
||||
}
|
||||
end
|
||||
@@ -2,7 +2,7 @@
|
||||
let
|
||||
darkman = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "darkman";
|
||||
src = pkgs.buildGoModule rec {
|
||||
src = pkgs.buildGoModule {
|
||||
pname = "darkman.nvim";
|
||||
version = "0.0.1";
|
||||
vendorHash = "sha256-HpyKzvKVN9hVRxxca4sdWRo91H32Ha9gxitr7Qg5MY8=";
|
||||
@@ -81,36 +81,11 @@ in
|
||||
providers.wl-copy.enable = true;
|
||||
};
|
||||
|
||||
extraConfigVim = ''
|
||||
if !exists("g:neovide")
|
||||
hi Normal guibg=NONE ctermbg=NONE
|
||||
endif
|
||||
set noshowmode
|
||||
'';
|
||||
|
||||
extraConfigLua = builtins.readFile ./extra-config.lua;
|
||||
|
||||
colorschemes.catppuccin = {
|
||||
enable = true;
|
||||
settings = {
|
||||
term_colors = true;
|
||||
transparent_background = true;
|
||||
background = {
|
||||
dark = "frappe";
|
||||
light = "latte";
|
||||
};
|
||||
integrations.native_lsp.underlines = {
|
||||
errors = [ "undercurl" ];
|
||||
warnings = [ "undercurl" ];
|
||||
};
|
||||
custom_highlights = builtins.readFile ./custom-highlights.lua;
|
||||
};
|
||||
};
|
||||
|
||||
plugins = {
|
||||
lualine = {
|
||||
enable = true;
|
||||
theme = "catppuccin";
|
||||
globalstatus = true;
|
||||
sectionSeparators = {
|
||||
left = "";
|
||||
|
||||
@@ -4,15 +4,6 @@ require("rest-nvim").setup({})
|
||||
require("actions-preview").setup({})
|
||||
|
||||
if vim.g.neovide then
|
||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
local flavour = require("catppuccin").options.background[vim.o.background]
|
||||
local palette = require("catppuccin.palettes").get_palette(flavour)
|
||||
vim.cmd("hi Normal guibg=" .. palette.base)
|
||||
vim.cmd("set pumblend=100")
|
||||
end,
|
||||
})
|
||||
-- no idea why this is needed
|
||||
vim.opt.linespace = -1
|
||||
end
|
||||
|
||||
@@ -44,9 +44,19 @@ in
|
||||
red = "#ff0000";
|
||||
green = "#00ff00";
|
||||
yellow = "#ffff00";
|
||||
orange = "#ff8000";
|
||||
blue = "#0000ff";
|
||||
magenta = "#ff00ff";
|
||||
cyan = "#00ffff";
|
||||
|
||||
warn = {
|
||||
color = "#ffff00";
|
||||
blend = false;
|
||||
};
|
||||
ok = {
|
||||
color = "#00ff00";
|
||||
blend = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -55,6 +65,10 @@ in
|
||||
input_path = ./kitty.conf;
|
||||
output_path = "${homeCfg.xdg.configHome}/kitty/theme.conf";
|
||||
};
|
||||
nvim = {
|
||||
input_path = ./nvim.vim;
|
||||
output_path = "${homeCfg.xdg.configHome}/nvim/colors/matugen.vim";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
96
modules/nixos/theming/nvim.vim
Normal file
96
modules/nixos/theming/nvim.vim
Normal file
@@ -0,0 +1,96 @@
|
||||
if exists(g:neovide)
|
||||
hi Normal guibg={{colors.surface.default.hex}} guifg={{colors.on_surface.default.hex}}
|
||||
set pumblend=100
|
||||
else
|
||||
hi Normal ctermbg=NONE guibg=NONE guifg={{colors.on_surface.default.hex}}
|
||||
set noshowmode
|
||||
end
|
||||
|
||||
hi CmpItemKindCopilot guifg={{colors.cyan.default.hex}}
|
||||
hi CmpItemKindNpm guifg={{colors.red.default.hex}}
|
||||
|
||||
hi Error guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
||||
hi ErrorMsg guibg={{colors.error_container.default.hex}} guifg={{colors.on_error_container.default.hex}}
|
||||
|
||||
hi DiagnosticError guifg={{colors.error.default.hex}}
|
||||
hi DiagnosticWarn guifg={{colors.warn.default.hex}}
|
||||
hi DiagnosticInfo guifg={{colors.blue.default.hex}}
|
||||
hi DiagnosticHint guifg={{colors.outline.default.hex}}
|
||||
hi DiagnosticOk guifg={{colors.ok.default.hex}}
|
||||
|
||||
hi DiagnosticUnderlineError gui=undercurl guisp={{colors.error.default.hex}}
|
||||
hi DiagnosticUnderlineWarn gui=undercurl guisp={{colors.warn.default.hex}}
|
||||
hi DiagnosticUnderlineInfo gui=undercurl guisp={{colors.blue.default.hex}}
|
||||
hi DiagnosticUnderlineHint gui=undercurl guisp={{colors.outline.default.hex}}
|
||||
hi DiagnosticUnderlineOk gui=undercurl guisp={{colors.ok.default.hex}}
|
||||
hi DiagnosticDeprecated gui=strikethrough guisp={{colors.error.default.hex}}
|
||||
|
||||
hi NonText guifg={{colors.outline_variant.default.hex}}
|
||||
hi LineNr guifg={{colors.outline_variant.default.hex}}
|
||||
hi CursorLineNr guifg={{colors.on_surface.default.hex}}
|
||||
hi CursorColumn guifg={{colors.on_surface.default.hex}}
|
||||
hi CursorLine guifg={{colors.on_surface.default.hex}}
|
||||
hi SignColumn guibg=none guifg={{colors.on_surface.default.hex}}
|
||||
|
||||
hi IblScope guifg={{colors.on_surface.default.hex}}
|
||||
hi @ibl.scope.char.1 guifg={{colors.on_surface.default.hex}}
|
||||
hi @ibl.scope.underline.1 guisp={{colors.on_surface.default.hex}}
|
||||
|
||||
hi Comment guifg={{colors.outline.default.hex}}
|
||||
hi Todo guibg={{colors.yellow_container.default.hex}} guifg={{colors.on_yellow_container.default.hex}}
|
||||
hi def link @comment.todo Todo
|
||||
hi def link @comment.error Error
|
||||
|
||||
hi String guifg={{colors.green.default.hex}}
|
||||
|
||||
hi Identifier guifg={{colors.on_surface.default.hex}}
|
||||
hi Statement gui=bold guifg={{colors.on_surface.default.hex}}
|
||||
hi def link Operator Normal
|
||||
hi @conditional.ternary guifg={{colors.on_surface.default.hex}}
|
||||
hi def link @keyword.conditional.ternary Operator
|
||||
hi def link Delimiter Normal
|
||||
hi def link @lsp.mod.local Normal
|
||||
hi def link @parameter Identifier
|
||||
|
||||
hi @lsp.mod.defaultLibrary gui=bold
|
||||
hi @lsp.mod.readonly gui=italic
|
||||
|
||||
hi Constant guifg={{colors.magenta.default.hex}}
|
||||
hi def link @variable Constant
|
||||
hi def link @field Constant
|
||||
hi def link @property @field
|
||||
hi def link @label.json @property
|
||||
hi def link @label.jsonc @label.json
|
||||
hi def link @property.typescript @property
|
||||
hi def link @lsp.type.property @property
|
||||
|
||||
hi def link @lsp.type.variable Constant
|
||||
hi def link @lsp.typemod.variable.local Identifier
|
||||
|
||||
hi Keyword guifg={{colors.orange.default.hex}}
|
||||
hi Special guifg={{colors.orange.default.hex}}
|
||||
hi def link Character Keyword
|
||||
hi def link Boolean Keyword
|
||||
hi def link Repeat Keyword
|
||||
hi def link Label Keyword
|
||||
hi def link Exception Keyword
|
||||
hi def link Include Keyword
|
||||
hi def link Conditional Keyword
|
||||
hi def link @type.builtin Keyword
|
||||
|
||||
hi Number guifg={{colors.cyan.default.hex}}
|
||||
hi Function guifg={{colors.cyan.default.hex}}
|
||||
|
||||
hi @attribute guifg={{colors.yellow.default.hex}}
|
||||
hi Structure guifg={{colors.yellow.default.hex}}
|
||||
hi def link PreProc Structure
|
||||
hi def link Tag Structure
|
||||
hi Type gui=none guifg={{colors.blue.default.hex}}
|
||||
hi def link @lsp.type.interface Type
|
||||
|
||||
hi IlluminatedWordText gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
hi IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
hi IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
hi MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
|
||||
hi Visual gui=bold guifg={{colors.on_primary.default.hex}} guibg={{colors.primary.default.hex}}
|
||||
Reference in New Issue
Block a user