home/dot_config/nvim/lua/plugins/base.lua

102 lines
2.2 KiB
Lua

-- Base plugins and libraries
return {
"nvim-lua/plenary.nvim",
{
"stevearc/dressing.nvim",
opts = {},
},
{
"folke/snacks.nvim",
priority = 1000, -- needs to be set up early
lazy = false,
opts = {
bigfiles = { enabled = true },
dashboard = {
enabled = true,
sections = {
{ section = "header" },
{ icon = "", title = "Recent Files", section = "recent_files", indent = 2, padding = 1 },
{ icon = "", title = "Projects", section = "projects", indent = 2, padding = 1 },
{
icon = "",
title = "Git Status",
section = "terminal",
enabled = function()
return Snacks.git.get_root() ~= nil
end,
cmd = "git status --short --branch --renames",
height = 5,
padding = 1,
ttl = 5 * 60,
indent = 3,
},
},
preset = { keys = {} },
},
indent = { enabled = true, animate = { enabled = false } },
input = { enabled = true },
lazygit = { enabled = true, configure = true },
},
keys = {
{
"<leader>gg",
function()
require("snacks").lazygit()
end,
desc = "Open LazyGit",
},
},
},
{
"nvim-treesitter/nvim-treesitter",
build = function()
require("nvim-treesitter.install").update({ with_sync = true })()
end,
},
{
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
lua = { "stylua" },
},
format_on_save = {
timeout_ms = 500,
lsp_format = "fallback",
},
},
},
{
"zapling/mason-conform.nvim",
depends = {
"williamboman/mason.nvim",
"stevearc/conform.nvim",
},
opts = {},
},
{
"mrjones2014/legendary.nvim",
priority = 999,
opts = {
extensions = { lazy_nvim = true },
},
keys = {
{
"<leader>,k",
"<cmd>Legendary keymaps<cr>",
desc = "Find keymaps",
},
{
"<leader>,c",
"<cmd>Legendary commands<cr>",
desc = "Find commands",
},
},
},
{
"wsdjeg/rooter.nvim",
opts = {
root_pattern = { ".git/" },
},
},
}