linuxware/modules/home-manager/programs/neovim/lua/plugins/user.lua
2024-10-24 22:44:35 -03:00

213 lines
6.8 KiB
Lua

-- You can also add or configure plugins by creating files in this `plugins/` folder
-- Here are some examples:
---@type LazySpec
return {
-- Customize alpha options
{
"goolord/alpha-nvim",
opts = function(_, opts)
-- customize the dashboard header
opts.section.header.val = {
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣶⣾⣿⣿⣿⣿⣷⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣾⣿⣿⣿⣿⣷⣶⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⢀⣠⡴⠾⠟⠋⠉⠉⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⠷⢦⣄⡀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠘⠋⠁⠀⠀⢀⣀⣤⣶⣖⣒⣒⡲⠶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠶⢖⣒⣒⣲⣶⣤⣀⡀⠀⠀⠈⠙⠂⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⣠⢖⣫⣷⣿⣿⣿⣿⣿⣿⣶⣤⡙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⢋⣤⣾⣿⣿⣿⣿⣿⣿⣾⣝⡲⣄⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⣄⣀⣠⢿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠻⢿⣿⣿⣦⣳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣟⣴⣿⣿⡿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⡻⣄⣀⣤⠀⠀⠀",
"⠀⠀⠀⠈⠟⣿⣿⣿⡿⢻⣿⣿⣿⠃⠀⠀⠀⠀⠙⣿⣿⣿⠓⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⣿⣿⣿⠋⠀⠀⠀⠀⠘⣿⣿⣿⡟⢿⣿⣿⣟⠻⠁⠀⠀⠀",
"⠤⣤⣶⣶⣿⣿⣿⡟⠀⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⠀⠀⠀⠀⣹⣿⣿⣷⠈⢻⣿⣿⣿⣶⣦⣤⠤",
"⠀⠀⠀⠀⠀⢻⣟⠀⠀⣿⣿⣿⣿⡀⠀⠀⠀⠀⢀⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⡀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠀⠀⣿⡟⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠻⣆⠀⢹⣿⠟⢿⣿⣦⣤⣤⣴⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡿⢷⣤⣤⣤⣴⣿⣿⣿⣿⡇⠀⣰⠟⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠙⠂⠀⠙⢀⣀⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠁⠀⣻⣿⣿⣿⣿⣿⣿⠏⠀⠘⠃⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡈⠻⠿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⢿⣿⣿⣿⠿⠛⢁⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠛⣶⣦⣤⣤⣤⡤⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢤⣤⣤⣤⣶⣾⠛⠓⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
}
return opts
end,
},
-- Add the catppuccin colorscheme
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
---@type CatppuccinOptions
opts = {
integrations = {
aerial = true,
alpha = true,
cmp = true,
dap = true,
dap_ui = true,
gitsigns = true,
illuminate = true,
indent_blankline = true,
markdown = true,
mason = true,
native_lsp = { enabled = true },
neotree = true,
notify = true,
semantic_tokens = true,
symbols_outline = true,
telescope = true,
treesitter = true,
ts_rainbow = false,
ufo = true,
which_key = true,
window_picker = true,
colorful_winsep = { enabled = true, color = "lavender" },
},
},
specs = {
{
"akinsho/bufferline.nvim",
optional = true,
opts = function(_, opts)
return require("astrocore").extend_tbl(opts, {
highlights = require("catppuccin.groups.integrations.bufferline").get(),
})
end,
},
{
"nvim-telescope/telescope.nvim",
optional = true,
opts = {
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
},
},
},
},
-- Makes most if not all groups have a transparent background.
{
"xiyaowong/transparent.nvim",
opts = function(_, opts)
local transparent = require("transparent")
opts.groups = {
"Comment",
"Conditional",
"Constant",
"CursorLine",
"CursorLineNr",
"EndOfBuffer",
"Function",
"Identifier",
"LineNr",
"NonText",
"Normal",
"NormalNC",
"Operator",
"PreProc",
"Repeat",
"SignColumn",
"Special",
"Statement",
-- "StatusLine",
-- "StatusLineNC",
"String",
"Structure",
"Todo",
"Type",
"Underlined",
}
opts.extra_groups = {
"CursorColumn",
"CursorLineFold",
"CursorLineSign",
"FloatBorder",
"FoldColumn",
"Folded",
"GitSignsAdd",
"GitSignsChange",
"GitSignsDelete",
"LineNr",
"LineNrAbove",
"LineNrBelow",
"LineNrBelow",
"NeoTreeFloatingBorder",
"NeoTreeMessage",
"NeoTreeNormal",
"NeoTreeTabSeparatorActive",
"NeoTreeTabSeparatorInactive",
"NeoTreeVertSplit",
"NeoTreeWinSeparator",
"NeoTreeNormalNC",
"NeoTreeTabActive",
"NeoTreeStatusLine",
"NeoTreeStatusLineNC",
"NeoTreeTabInactive",
"NormalFloat",
"TabLine",
"TabLineFill",
"VertSplit",
"WinBar",
"WinBarNC",
"WinSeparator",
}
transparent.clear_prefix("BufferLine")
transparent.clear_prefix("Diagnostic")
transparent.clear_prefix("NvimTree")
end,
},
-- Adds highlighting and lsp features for embedded code in documents.
{
"jmbuhr/otter.nvim",
dependencies = {
"hrsh7th/nvim-cmp",
"neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter",
},
},
-- Adds highlighting and custom commands for ledger files
{
"ledger/vim-ledger",
},
-- Better UI hooks
{
"stevearc/dressing.nvim",
},
-- Add Ollama support in-editor
{
"nomnivore/ollama.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
-- All the user commands added by the plugin
cmd = { "Ollama", "OllamaModel", "OllamaServe", "OllamaServeStop" },
keys = {
-- Sample keybind for prompt menu. Note that the <c-u> is important for selections to work properly.
{
"<leader>oo",
":<c-u>lua require('ollama').prompt()<cr>",
desc = "ollama prompt",
mode = { "n", "v" },
},
-- Sample keybind for direct prompting. Note that the <c-u> is important for selections to work properly.
{
"<leader>oG",
":<c-u>lua require('ollama').prompt('Generate_Code')<cr>",
desc = "ollama Generate Code",
mode = { "n", "v" },
},
},
---@type Ollama.Config
opts = {
-- your configuration overrides
},
},
}