a lua powered greeter like vim-startify / dashboard-nvim
Last updated Jul 9, 2026
2.4k
Stars
129
Forks
34
Issues
+3
Stars/day
Attention Score
95
Language breakdown
Lua 100.0%
โธ Files
click to expand
README
ฮฑ alpha-nvim
alpha is a fast and fully programmable greeter for neovim.
share or snipe some custom themes @ https://github.com/goolord/alpha-nvim/discussions/16
Quick Start
vim-startify theme
EXAMPLES
With lazy.nvim:
{ 'goolord/alpha-nvim', dependencies = { 'nvim-mini/mini.icons' }, config = function () require'alpha'.setup(require'alpha.themes.startify'.config) end }; With packer: use { 'goolord/alpha-nvim', requires = { 'nvim-mini/mini.icons' }, config = function () require'alpha'.setup(require'alpha.themes.startify'.config) end } ..or using paq: require "paq" { "goolord/alpha-nvim"; "nvim-mini/mini.icons"; } require'alpha'.setup(require'alpha.themes.startify'.config) dashboard-nvim theme
EXAMPLES
With lazy.nvim:
{ 'goolord/alpha-nvim', config = function () require'alpha'.setup(require'alpha.themes.dashboard'.config) end }; With packer: use { 'goolord/alpha-nvim', config = function () require'alpha'.setup(require'alpha.themes.dashboard'.config) end } ..or using paq: require "paq" { "goolord/alpha-nvim"; "nvim-mini/mini.icons"; } require'alpha'.setup(require'alpha.themes.dashboard'.config) Theta theme
EXAMPLES
With lazy.nvim:
{ 'goolord/alpha-nvim', dependencies = { 'nvim-mini/mini.icons', 'nvim-lua/plenary.nvim' }, config = function () require'alpha'.setup(require'alpha.themes.theta'.config) end }; With packer: use { 'goolord/alpha-nvim', requires = { 'nvim-mini/mini.icons', 'nvim-lua/plenary.nvim' }, config = function () require'alpha'.setup(require'alpha.themes.dashboard'.config) end } ..or using paq: require "paq" { "goolord/alpha-nvim"; "nvim-mini/mini.icons"; 'nvim-lua/plenary.nvim'; } require'alpha'.setup(require'alpha.themes.dashboard'.config) if you want sessions, see
Shatur/neovim-session-manager:h :mks
:h alpha-example
File Icons
theta/startify theme support file icons, default is enabled and mini icon provider is used.
nvim-web-devicons icon provider, use the following example with lazy.nvim:
{
"goolord/alpha-nvim",
-- dependencies = { 'nvim-mini/mini.icons' },
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
local startify = require("alpha.themes.startify")
-- available: devicons, mini, default is mini
-- if provider not loaded and enabled is true, it will try to use another provider
startify.file_icons.provider = "devicons"
require("alpha").setup(
startify.config
)
end,
},
Elevator pitch
alpha is really a general purpose neovim ui library with some conveniences for writing a greeter ui. it has a functional, data-oriented api design. themes are expressed entirely as data, which is what makes alpha "fully programmable". alpha is also the fastest greeter I've benchmarked (which is why I daily drive it myself!).Profiling Results
- using
lewis6991/impatient.nvim - only config! doesn't measure drawing, some startup plugins won't measure drawing either
Special Thanks
- https://github.com/glepnir/dashboard-nvim - inspiration, code reference
- https://github.com/mhinz/vim-startify - inspiration
๐ More in this category