local config = require("core.config") local paths = config.paths() return { -- Status line { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons", "rebelot/kanagawa.nvim", }, config = function() require("lualine").setup({ options = { theme = "kanagawa" }, }) end, }, -- Alpha (dashboard) { "goolord/alpha-nvim", config = function() local alpha = require('alpha') local dashboard = require("alpha.themes.dashboard") dashboard.section.header.val = { [[ ██╗ ██╗███████╗ ██████╗ ███████╗███████╗██╗ ██████╗ ███╗ ██╗ ]], [[ ██║ ██║╚════██║ ██╔══██╗██╔════╝██╔════╝██║██╔════╝ ████╗ ██║ ]], [[ ██║ ██║ ██╔╝ ██║ ██║█████╗ ███████╗██║██║ ███╗██╔██╗ ██║ ]], [[ ╚██╗ ██╔╝ ██╔╝ ██║ ██║██╔══╝ ╚════██║██║██║ ██║██║╚██╗██║ ]], [[ ╚████╔╝ ██║ ██████╔╝███████╗███████║██║╚██████╔╝██║ ╚████║ ]], [[ ╚═══╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ]], } dashboard.section.buttons.val = { dashboard.button("e", " New file", ":ene startinsert "), dashboard.button("f", "󰍉 Find file", ":lua require('fzf-lua').files() "), dashboard.button("t", " Browse cwd", ":NvimTreeOpen"), dashboard.button("r", " Browse src", ":e " .. paths.srcDirectory .. ""), dashboard.button("s", "󰯂 Browse scripts", ":e " .. paths.scriptsDirectory .. ""), dashboard.button("c", " Config", ":e ~/.config/nvim/"), dashboard.button("m", " Mappings", ":e ~/.config/nvim/lua/core/keymaps.lua"), dashboard.button("p", " Plugins", ":PlugInstall"), dashboard.button("q", "󰅙 Quit", ":q!"), } dashboard.section.footer.val = function() return vim.g.startup_time_ms or "[[ ]]" end dashboard.section.buttons.opts.hl = "Keyword" dashboard.opts.opts.noautocmd = true alpha.setup(dashboard.opts) end, }, -- Which-key { "folke/which-key.nvim", event = "VeryLazy", config = function() local wk = require("which-key") wk.setup({ preset = "modern", }) wk.add({ { "e", desc = "Toggle file explorer" }, { "f", group = "Find" }, { "ff", desc = "Find files" }, { "fg", desc = "Live grep" }, { "fb", desc = "Find buffers" }, { "ft", desc = "Find TODOs" }, { "g", group = "Git" }, { "h", group = "Harpoon" }, { "t", group = "Theme" }, { "th", desc = "Theme switcher" }, { "x", group = "Trouble" }, { "w", desc = "Save" }, { "q", desc = "Quit" }, { "u", desc = "Undo tree" }, { "9", group = "AI (99)" }, { "9f", desc = "Fill Function" }, { "9v", desc = "Visual AI" }, { "9s", desc = "Stop requests" }, { "o", group = "Obsidian" }, }) end, }, -- Colorizer { "NvChad/nvim-colorizer.lua", opts = { user_default_options = { names = false } } }, -- Indent guides { "lukas-reineke/indent-blankline.nvim", main = "ibl", event = { "BufReadPre", "BufNewFile" }, opts = { indent = { char = "│" }, scope = { enabled = true }, }, }, }