return { "goolord/alpha-nvim", event = "VimEnter", opts = function() local dashboard = require "alpha.themes.dashboard" local logo = [[ ██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z ██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z ██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z ██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z ███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ]] dashboard.section.header.val = vim.split(logo, "\n") dashboard.section.buttons.val = { dashboard.button("t", "󰝖 Tasks", 'lua require("taskwarrior_nvim").browser({"ready"}) '), dashboard.button("f", " Find file", "Telescope find_files "), dashboard.button("r", " Recent files", "Telescope oldfiles "), dashboard.button("o", " File browser", "Oil "), dashboard.button("p", "󱞁 Personal notes", "Neorg workspace personal"), dashboard.button("w", "󱞂 Work notes", "Neorg workspace work"), dashboard.button("g", "󰊢 Git status", "Neogit "), dashboard.button("c", " Config", "e $HOME/.config/home-manager/flake.nix "), dashboard.button("l", "󰒲 Lazy", "Lazy"), dashboard.button("h", " Help", "Telescope help_tags "), dashboard.button("q", " Quit", "qa"), } for _, button in ipairs(dashboard.section.buttons.val) do button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" end dashboard.section.header.opts.hl = "AlphaHeader" dashboard.section.buttons.opts.hl = "AlphaButtons" dashboard.section.footer.opts.hl = "AlphaFooter" dashboard.opts.layout[1].val = 8 return dashboard end, config = function(_, dashboard) -- close Lazy and re-open when the dashboard is ready if vim.o.filetype == "lazy" then vim.cmd.close() vim.api.nvim_create_autocmd("User", { pattern = "AlphaReady", callback = function() require("lazy").show() end, }) end require("alpha").setup(dashboard.opts) vim.api.nvim_create_autocmd("User", { pattern = "LazyVimStarted", callback = function() local stats = require("lazy").stats() local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) dashboard.section.footer.val = "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms" pcall(vim.cmd.AlphaRedraw) end, }) end, }