α 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](https://github.com/folke/lazy.nvim):
```lua
{
'goolord/alpha-nvim',
dependencies = { 'echasnovski/mini.icons' },
config = function ()
require'alpha'.setup(require'alpha.themes.startify'.config)
end
};
```
With packer:
```lua
use {
'goolord/alpha-nvim',
requires = { 'echasnovski/mini.icons' },
config = function ()
require'alpha'.setup(require'alpha.themes.startify'.config)
end
}
```
..or using paq:
```lua
require "paq" {
"goolord/alpha-nvim";
"echasnovski/mini.icons";
}
require'alpha'.setup(require'alpha.themes.startify'.config)
```
dashboard-nvim theme
EXAMPLES
With [lazy.nvim](https://github.com/folke/lazy.nvim):
```lua
{
'goolord/alpha-nvim',
config = function ()
require'alpha'.setup(require'alpha.themes.dashboard'.config)
end
};
```
With packer:
```lua
use {
'goolord/alpha-nvim',
config = function ()
require'alpha'.setup(require'alpha.themes.dashboard'.config)
end
}
```
..or using paq:
```lua
require "paq" {
"goolord/alpha-nvim";
"echasnovski/mini.icons";
}
require'alpha'.setup(require'alpha.themes.dashboard'.config)
```
Theta theme
EXAMPLES
With [lazy.nvim](https://github.com/folke/lazy.nvim):
```lua
{
'goolord/alpha-nvim',
dependencies = {
'echasnovski/mini.icons',
'nvim-lua/plenary.nvim'
},
config = function ()
require'alpha'.setup(require'alpha.themes.theta'.config)
end
};
```
With packer:
```lua
use {
'goolord/alpha-nvim',
requires = {
'echasnovski/mini.icons',
'nvim-lua/plenary.nvim'
},
config = function ()
require'alpha'.setup(require'alpha.themes.dashboard'.config)
end
}
```
..or using paq:
```lua
require "paq" {
"goolord/alpha-nvim";
"echasnovski/mini.icons";
'nvim-lua/plenary.nvim';
}
require'alpha'.setup(require'alpha.themes.dashboard'.config)
```
if you want sessions, see
this theme makes some assumptions about your default keybindings
to customize the buttons, see :h alpha-example
File Icons
theta/startify theme support file icons, default is enabled and mini
icon provider is used.
if you prefer nvim-web-devicons
icon provider, use the following example with lazy.nvim:
{
"goolord/alpha-nvim",
-- dependencies = { 'echasnovski/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
Special Thanks