-- Dashboard local alpha = require('alpha') local dashboard = require('alpha.themes.dashboard') -- Custom Header (Minimalist) dashboard.section.header.val = { -- [[ __ ]], [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], [[ /' _ `\ /' __`\/\__\ /\ \/\ \\/\ \ /' __` __`\ ]], [[ /\ \/\ \/\ __/\/_/\ \ \ \_/ |\ \ \ /\ \/\ \/\ \ ]], [[ \ \_\ \_\ \____\ \ \_\ \___/ \ \_\\ \_\ \_\ \_\]], [[ \/_/\/_/\/____/ \/_/\/__/ \/_/ \/_/\/_/\/_/]], } -- Custom Buttons (Integrating your Zsh logic) dashboard.section.buttons.val = { dashboard.button("n", " Nix Configuration", ":cd ~/nicksOs | Oil"), dashboard.button("v", " Neovim Config", ":cd ~/.config/nvim | Oil"), dashboard.button("h", " Habits", ":cd ~/Documents | :e habits.md "), dashboard.button("f", "󰈞 Find File", ":Oil"), dashboard.button("q", "󰅚 Quit", ":qa"), } -- Recent Files Section (Last 5 files) local function get_mru(count) local mru = {} for _, file in ipairs(vim.v.oldfiles) do if #mru >= count then break end if vim.fn.filereadable(file) == 1 then table.insert(mru, dashboard.button(tostring(#mru + 1), "󰈚 " .. vim.fn.fnamemodify(file, ":t"), ":e " .. file .. "")) end end return mru end -- Assemble the layout dashboard.config.layout = { { type = "padding", val = 2 }, dashboard.section.header, { type = "padding", val = 2 }, { type = "group", val = dashboard.section.buttons.val }, { type = "padding", val = 2 }, { type = "text", val = "Recent Files", opts = { hl = "Special", align = "center" } }, { type = "padding", val = 1 }, { type = "group", val = function() return get_mru(5) end }, } alpha.setup(dashboard.config) -- File Browser vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 require("oil").setup({ columns = { "icon" }, view_options = { show_hidden = true }, }) vim.cmd("colorscheme habamax") vim.api.nvim_set_hl(0, "Normal", { bg = "none" })