Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/goolord/alpha-nvim
a lua powered greeter like vim-startify / dashboard-nvim
https://github.com/goolord/alpha-nvim
alpha-nvim dashboard-nvim neovim vim-startify
Last synced: 2 days ago
JSON representation
a lua powered greeter like vim-startify / dashboard-nvim
- Host: GitHub
- URL: https://github.com/goolord/alpha-nvim
- Owner: goolord
- License: mit
- Created: 2021-09-01T23:35:47.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-14T17:15:04.000Z (2 months ago)
- Last Synced: 2025-01-09T14:20:34.570Z (16 days ago)
- Topics: alpha-nvim, dashboard-nvim, neovim, vim-startify
- Language: Lua
- Homepage:
- Size: 236 KB
- Stars: 1,990
- Watchers: 9
- Forks: 114
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - goolord/alpha-nvim - A fast and highly customizable greeter like [vim-startify](https://github.com/mhinz/vim-startify)/dashboard-nvim. (Startup / Cursorline)
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
![glamor shot](https://user-images.githubusercontent.com/24906808/133367667-0f73e9e1-ea75-46d1-8e1b-ff0ecfeafeb1.png)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
![glamor shot](https://user-images.githubusercontent.com/24906808/132604236-4f20adc4-706c-49b4-b473-ebfd6a7f0784.png)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
- https://github.com/Shatur/neovim-session-manager
- :h :mksthis 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.
- [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons)
- [mini-icons](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-icons.md)if you prefer `nvim-web-devicons` icon provider, use the following example with lazy.nvim:
```lua
{
"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
![benchmark](https://user-images.githubusercontent.com/24906808/131830001-31523c86-fee2-4f90-b23d-4bd1e152a385.png)
- using https://github.com/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