share your alpha theme #16
Replies: 118 comments 290 replies
-
I'm not quite satisfied with the layout yet, I started out with some colours but ended up omitting them for simplicity. Here's what it looks like so far: |
Beta Was this translation helpful? Give feedback.
-
I just went for a simple layout and I just let The quote at the bottom changes randomly every time vim is opened, like how it functions in I pulled most of the ideas for this config from various reddit discussions and looking at other peoples dotfiles, here's how my local alpha = require("alpha")
local dashboard = require("alpha.themes.dashboard")
-- Set header
dashboard.section.header.val = {
" ",
" ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ",
" ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ",
" ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ",
" ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ",
" ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ",
" ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ",
" ",
}
-- Set menu
dashboard.section.buttons.val = {
dashboard.button( "e", " > New file" , ":ene <BAR> startinsert <CR>"),
dashboard.button( "f", " > Find file", ":cd $HOME/Workspace | Telescope find_files<CR>"),
dashboard.button( "r", " > Recent" , ":Telescope oldfiles<CR>"),
dashboard.button( "s", " > Settings" , ":e $MYVIMRC | :cd %:p:h | split . | wincmd k | pwd<CR>"),
dashboard.button( "q", " > Quit NVIM", ":qa<CR>"),
}
-- Set footer
-- NOTE: This is currently a feature in my fork of alpha-nvim (opened PR #21, will update snippet if added to main)
-- To see test this yourself, add the function as a dependecy in packer and uncomment the footer lines
-- ```init.lua
-- return require('packer').startup(function()
-- use 'wbthomason/packer.nvim'
-- use {
-- 'goolord/alpha-nvim', branch = 'feature/startify-fortune',
-- requires = {'BlakeJC94/alpha-nvim-fortune'},
-- config = function() require("config.alpha") end
-- }
-- end)
-- ```
-- local fortune = require("alpha.fortune")
-- dashboard.section.footer.val = fortune()
-- Send config to alpha
alpha.setup(dashboard.opts)
-- Disable folding on alpha buffer
vim.cmd([[
autocmd FileType alpha setlocal nofoldenable
]]) edit: typos |
Beta Was this translation helpful? Give feedback.
-
Here is my simple config :-) |
Beta Was this translation helpful? Give feedback.
-
Just a standard Minimal dashboard with a touch of sad horni boy :) If you wanna see my config just go to my dotfiles |
Beta Was this translation helpful? Give feedback.
-
Not a lot to say, it randomly chooses a different logo when you open it. The arts aren't mine, but I forgot who did them (half a year ago), |
Beta Was this translation helpful? Give feedback.
-
implement in this repo please see it and if you found it interesting please star it, also if you found any bugs or improvement please send pull req. tank you |
Beta Was this translation helpful? Give feedback.
-
Simple and minimal, config soon whenever I release my dotfiles |
Beta Was this translation helpful? Give feedback.
-
You can see the configuration of Visual Studio Neovim . I use this configuration. |
Beta Was this translation helpful? Give feedback.
-
I had to modify Alpha a bit to allow just text messages on a intro screen. But this is not what I wanted to share… I'm using Alpha to remind myself of multiple keymaps I've created for my tasks. But Alpha cannot handle multicolumn layouts, and multicolumn layouts are much more efficient in using screen estate. So, I created a multi-column function EDITED: changed screenshot and code to show how to highlight text ranges. Hope you guys will find this useful and make some additions. Source codelocal alpha = require("alpha")
local col = function(strlist, opts)
-- strlist is a TABLE of TABLES, representing columns of text
-- opts is a text display option
-- column spacing
local padding = 12
-- fill lines up to the maximim length with 'fillchar'
local fillchar = ' '
-- columns padding char (for testing)
local padchar = ' '
-- define maximum string length in a table
local maxlen = function(str)
local max = 0
for i in pairs(str) do
if #str[i] > max then
max = #str[i]
end
end
return max
end
-- add as much right-padding to align the text block
local pad = function(str, max)
local strlist = {}
for i in pairs(str) do
if #str[i] < max then
local newstr = str[i] .. string.rep(fillchar, max-#str[i])
table.insert(strlist, newstr)
else
table.insert(strlist, str[i])
end
end
return strlist
end
-- this is a table for text strings
local values = {}
-- process all the lines
for i=1,maxlen(strlist) do
local str = ''
-- process all the columns but last, because we dont wand extra padding
-- after last column
for column=1,#strlist-1 do
local maxstr = maxlen(strlist[column])
local padded = pad(strlist[column], maxstr)
if strlist[column][i] == nil then
str = str .. string.rep(fillchar, maxstr) .. string.rep(padchar, padding)
else
str = str .. padded[i] .. string.rep(padchar, padding)
end
end
-- lets process the last column, no extra padding
do
local maxstr = maxlen(strlist[#strlist])
local padded = pad(strlist[#strlist], maxstr)
if strlist[#strlist][i] == nil then
str = str .. string.rep(fillchar, maxlen(strlist[#strlist]))
else
str = str .. padded[i]
end
end
-- insert result into output table
table.insert(values, { type = "text", val = str, opts = opts })
end
return values
end
local my_unimpaired = {
"[s ]s prev/next spelling error",
"[c ]c prev/next Git change",
"[d ]d prev/next diagnostics",
"[b ]b prev/next buffer",
"[z ]z prev/next tab",
"[f ]f prev/next file",
"[q ]q prev/next quickfix list",
"[l ]l prev/next location list",
}
local vim_signature = {
"mx dmx toggle mark 'x'",
"m, m. m- m<Space> place/remove/delete all on current line/delete all buffer marks",
"[` ]` [' ]' jump to prev/next mark | start of a line with mark",
"`[ `] jump by alphabetical order to prev/next mark",
"'[ '] jump by alphabetical order to start of prev/next line having a mark",
"m[0-9] toggle the marker !@#$%^&*()",
"m<S-[0-9]> remove all markers of the same type",
"[- ]- [= ]= jump to prev line having a marker of the same type",
"m<BS> remove all markers",
}
local my_alts = {
"ALT-A Compress spaces in current line",
"ALT-SHIFT-A Compress spaces in current paragraph",
"ALT-I Toggle terminal window",
"ALT-Q Rewrap current paragraph",
"ALT-W Toggle line wrap",
"ALT-D Toggle show hidden",
}
local fzf_vim = {
"CTRL-F B \\\\ Buffers",
" // Current buffer lines filtering",
" ?? Buffer lines filtering",
" || Windows manager",
" '' Registers manager",
"CTRL-F F Files",
"CTRL-F R RipGrep files from current directory",
"CTRL-F G Files in Git repository",
"CTRL-F M `` Marks",
"CTRL-F H History",
"CTRL-F : Commands history",
"CTRL-F / Search history",
"CTRL-F T File types",
"CTRL-F SHIFT-T Tags with word under cursor",
"CTRL-F W List buffer lines with word under cursor",
"CTRL-F C Commands",
"CTRL-F SHIFT-C Commits",
"CTRL-F SHIFT-B Buffer commits",
"CTRL-F SHIFT-M Keyboard mappings",
}
local fkeys = {
"F2 Save file",
"SHIFT-F2 Save all files",
"F3 Toggle quickfix list",
"SHIFT-F3 Toggle location list",
"F5 Toggle tree-sitter window",
"F6 Toggle undo tree window",
"F7 Enable spellchecking engine",
"F10 Quit",
"SHIFT-F10 Quit all",
"CTRL-SHIFT-F10 Quit all (no save)",
"SHIFT-F7 Enable Vale linter",
"F11 Toggle tree-sitter highlight floater",
"SHIFT-F11 Toggle current word dynamic highlighter",
"CTRL-F11 Enable current word highlight :Quickhl*",
"F12 Close current buffer (no window close)",
}
local bookmarks = {
"bm bookmark toggle",
"bi bookmark annotate",
"bp bn prev/next bookmark",
"ba show all bookmarks",
"bc bx clear (all) bookmark(s)",
"bkk bjj move bookmark up (down)",
}
local others = {
"[m ]m Headers in RST",
"[p ]p [k ]k ???",
}
local head = {
type = "text",
val = {
[[███ ██ ███████ ██████ ██ ██ ██ ███ ███]],
[[████ ██ ██ ██ ██ ██ ██ ██ ████ ████]],
[[██ ██ ██ █████ ██ ██ ██ ██ ██ ██ ████ ██]],
[[██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██]],
[[██ ████ ███████ ██████ ████ ██ ██ ██]]
},
opts = {
position = "center",
hl = "Type",
},
}
local foot = {
type = "text",
val = "footer",
opts = {
position = "center",
hl = "Number",
},
}
local block1 = {
type = "group",
val = col({my_unimpaired, vim_signature}, { position = "center", hl = {{"Comment", 0, -1}, { "Title", 92, 97 }, { "Title", 137, 154 }} }),
opts = {
spacing = 0
},
}
local block2 = {
type = "group",
val = col({fzf_vim, fkeys}, { position = "center", hl = {{"Comment", 0, -1}, { "Title", 94, 108 }, { "Title", 166, 180 }} }),
opts = {
spacing = 0
},
}
local block3 = {
type = "group",
val = col({my_alts, bookmarks, others}, { position = "center", hl = {{"Comment", 0, -1}, { "Title", 89, 100 }, { "Title", 152, 159 }, {"Title", 198, 209}} }),
opts = {
spacing = 0
},
}
local opts = {
layout = {
{ type = "padding", val = 2 },
head,
{ type = "padding", val = 2 },
block1,
{ type = "padding", val = 2 },
block2,
{ type = "padding", val = 2 },
block3,
},
opts = {
noautocmd = true,
margin = 5,
},
}
alpha.setup(opts) |
Beta Was this translation helpful? Give feedback.
-
I've created my own layout, using a lot of the functions in the Dashboard and Startify themes to get a sort of hybrid:
The config lives in my nvim branch if it's of interest to anyone else. Thanks @goolord for making such a cool plugin, I've really enjoyed learning a bit of Lua and getting this setup, I'm sure I'll be tinkering with it for a while! |
Beta Was this translation helpful? Give feedback.
-
Here is mine. It features a bigger banner and is meant for larger screens.
See the reply section for my full config if you are interested. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Some of my configs |
Beta Was this translation helpful? Give feedback.
-
Nvchad and Mikassa |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
local function getLen(str, start_pos)
local byte = string.byte(str, start_pos)
if not byte then
return nil
end
return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1
end
local function colorize(header, header_color_map, colors)
for letter, color in pairs(colors) do
local color_name = "AlphaJemuelKwelKwelWalangTatay" .. letter
vim.api.nvim_set_hl(0, color_name, color)
colors[letter] = color_name
end
local colorized = {}
for i, line in ipairs(header_color_map) do
local colorized_line = {}
local pos = 0
for j = 1, #line do
local start = pos
pos = pos + getLen(header[i], start + 1)
local color_name = colors[line:sub(j, j)]
if color_name then
table.insert(colorized_line, { color_name, start, pos })
end
end
table.insert(colorized, colorized_line)
end
return colorized
end
local alpha_c = function()
local alpha = require("alpha")
local mocha = require("catppuccin.palettes").get_palette("mocha")
local dashboard = require("alpha.themes.dashboard")
local header = {
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
[[ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ]],
}
local color_map = {
[[ WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWW ]],
[[ RRRRWWWWWWWWWWWWWWWWRRRRRRRRRRRRRRRRWWWWWWWWWWWWWWWWBBPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPBBWWWWWWWWWWWW ]],
[[ RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBPPPPPPHHHHHHHHHHHHHHHHHHHHHHHHHHPPPPPPBBWWWWWWWWWW ]],
[[ RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBPPPPHHHHHHHHHHHHFFHHHHFFHHHHHHHHHHPPPPBBWWWWWWWWWW ]],
[[ OOOORRRRRRRRRRRRRRRROOOOOOOOOOOOOOOORRRRRRRRRRRRRRBBPPHHHHFFHHHHHHHHHHHHHHHHHHHHHHHHHHHHPPBBWWWWWWWWWW ]],
[[ OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOBBPPHHHHHHHHHHHHHHHHHHHHBBBBHHHHFFHHHHPPBBWWBBBBWWWW ]],
[[ OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOBBPPHHHHHHHHHHHHHHHHHHBBMMMMBBHHHHHHHHPPBBBBMMMMBBWW ]],
[[ YYYYOOOOOOOOOOOOOOOOYYYYYYYYYYYYYYYYOOBBBBBBBBOOOOBBPPHHHHHHHHHHHHFFHHHHBBMMMMMMBBHHHHHHPPBBMMMMMMBBWW ]],
[[ YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYBBMMMMBBBBOOBBPPHHHHHHHHHHHHHHHHHHBBMMMMMMMMBBBBBBBBMMMMMMMMBBWW ]],
[[ YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYBBBBMMMMBBBBBBPPHHHHHHFFHHHHHHHHHHBBMMMMMMMMMMMMMMMMMMMMMMMMBBWW ]],
[[ GGGGYYYYYYYYYYYYYYYYGGGGGGGGGGGGGGGGYYYYBBBBMMMMBBBBPPHHHHHHHHHHHHHHFFBBMMMMMMMMMMMMMMMMMMMMMMMMMMMMBB ]],
[[ GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGBBBBMMMMBBPPHHFFHHHHHHHHHHHHBBMMMMMMCCBBMMMMMMMMMMCCBBMMMMBB ]],
[[ GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGBBBBBBBBPPHHHHHHHHHHHHHHHHBBMMMMMMBBBBMMMMMMBBMMBBBBMMMMBB ]],
[[ UUUUGGGGGGGGGGGGGGGGUUUUUUUUUUUUUUUUGGGGGGGGGGGGBBBBPPHHHHHHHHHHFFHHHHBBMMRRRRMMMMMMMMMMMMMMMMMMRRRRBB ]],
[[ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUBBPPPPHHFFHHHHHHHHHHBBMMRRRRMMBBMMMMBBMMMMBBMMRRRRBB ]],
[[ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUBBPPPPPPHHHHHHHHHHHHHHBBMMMMMMBBBBBBBBBBBBBBMMMMBBWW ]],
[[ VVVVUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVUUUUUUUUUUUUBBBBBBPPPPPPPPPPPPPPPPPPPPBBMMMMMMMMMMMMMMMMMMMMBBWWWW ]],
[[ VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBBMMMMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWW ]],
[[ VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBBMMMMBBBBWWBBMMMMBBWWWWWWWWWWBBMMMMBBWWBBMMMMBBWWWWWWWW ]],
[[ WWWWVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWVVVVVVVVVVBBBBBBBBWWWWBBBBBBWWWWWWWWWWWWWWBBBBBBWWWWBBBBWWWWWWWWWW ]],
}
local colors = {
["W"] = { fg = mocha.base },
["C"] = { fg = mocha.text },
["B"] = { fg = mocha.crust },
["R"] = { fg = mocha.red },
["O"] = { fg = mocha.peach },
["Y"] = { fg = mocha.yellow },
["G"] = { fg = mocha.green },
["U"] = { fg = mocha.blue },
["P"] = { fg = mocha.yellow },
["H"] = { fg = mocha.pink },
["F"] = { fg = mocha.red },
["M"] = { fg = mocha.overlay0 },
["V"] = { fg = mocha.lavender },
}
dashboard.section.header.val = header
dashboard.section.header.opts = {
hl = colorize(header, color_map, colors),
position = "center",
}
dashboard.section.buttons.val = {
dashboard.button("SPC e e", " New file", "<Cmd>ene <CR>"),
dashboard.button("SPC f f", " Find file"),
dashboard.button("SPC s s", " Neobin config", "<Cmd>Neotree reveal ~/.config/nvim<CR>"),
dashboard.button("SPC q q", " Quit", "<Cmd>qa<CR>"),
}
for _, a in ipairs(dashboard.section.buttons.val) do
a.opts.width = 49
a.opts.cursor = -2
end
alpha.setup(dashboard.config)
end
return alpha_c
|
Beta Was this translation helpful? Give feedback.
-
just let me know if you also need my darken and lighten color util local function getLen(str, start_pos)
local byte = string.byte(str, start_pos)
if not byte then
return nil
end
return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1
end
local function colorize(header, header_color_map, colors)
for letter, color in pairs(colors) do
local color_name = "AlphaJemuelKwelKwelWalangTatay" .. letter
vim.api.nvim_set_hl(0, color_name, color)
colors[letter] = color_name
end
local colorized = {}
for i, line in ipairs(header_color_map) do
local colorized_line = {}
local pos = 0
for j = 1, #line do
local start = pos
pos = pos + getLen(header[i], start + 1)
local color_name = colors[line:sub(j, j)]
if color_name then
table.insert(colorized_line, { color_name, start, pos })
end
end
table.insert(colorized, colorized_line)
end
return colorized
end
local alpha_c = function()
local color = require("util.color")
local alpha = require("alpha")
local mocha = require("catppuccin.palettes").get_palette("mocha")
local dashboard = require("alpha.themes.dashboard")
local color_map = {
[[ AAAA]],
[[AAAAAA AAAA]],
[[AA AAAA AAAA KKHHKKHHHH]],
[[AAAA AAAA AA HHBBKKKKKKKKKKKKKK]],
[[ AAAAAA AAKKBBHHKKBBYYBBKKKKHHKKKKKK]],
[[ AAAA BBAAKKHHBBBBKKKKBBYYBBHHHHKKKKKK]],
[[ BBAABBKKYYYYHHKKYYYYKKKKBBBBBBZZZZZZ]],
[[ YYBBYYBBKKYYYYYYYYYYKKKKBBKKAAAAZZOOZZZZ]],
[[ XXXXYYYYBBYYYYYYYYBBBBBBKKKKBBBBAAAAZZZZ]],
[[ XXXXUUUUYYYYBBYYYYYYBBKKBBZZOOAAZZOOAAAAAA]],
[[ ZZZZZZXXUUXXXXYYYYYYYYBBAAAAZZOOOOAAOOZZZZAAAA]],
[[ ZZUUZZXXUUUUXXXXUUXXFFFFFFFFAAAAOOZZAAZZZZ AA]],
[[ RRRRUUUUZZZZZZZZXXOOFFFFOOZZOOAAAAAAZZZZAA]],
[[ CCSSUUUUZZXXXXZZXXOOFFFFOOZZOOOOZZOOAAAA]],
[[ CCCCUUUUUUUUUURRRROOFFFFOOZZOOOOZZOOZZZZ]],
[[ CCCCUUUUUUUUSSCCCCEEQQQQOOZZOOOOZZOOZZZZ]],
[[ CCCCUUGGUUUUCCCCCCEEQQQQOOZZOOOOZZEEZZ]],
[[ RRRRGGGGUUGGCCCCCCOOOOOOOOZZOOEEZZII]],
[[ IIRRGGGGGGCCCCCCOOOOOOOOZZEEII]],
[[ GGRRCCCCCCOOOOEEEEII II]],
[[ RRRRRREEEE IIII]],
[[ II]],
[[]],
}
local yellow = "#FAC87C"
local orange = "#BF854E"
local maroon = "#502E2B"
local brown = "#38291B"
local colors = {
["A"] = { fg = mocha.rosewater},
["Y"] = { fg = yellow },
["B"] = { fg = color.darken(yellow,5) },
["X"] = { fg = color.darken(yellow,20) },
["U"] = { fg = color.darken(yellow, 25)},
["F"] = { fg = color.darken(yellow, 35) },
["O"] = { fg = color.darken(yellow, 45) },
["K"] = { fg = maroon},
["H"] = { fg = color.darken(maroon, 10)},
["Z"] = { fg = mocha.crust },
["G"] = { fg = color.darken(yellow, 25) },
["R"] = { fg = orange },
["Q"] = { fg = color.darken(orange, 20) },
["E"] = { fg = color.darken(orange, 35)},
["I"] = { fg = brown },
["C"] = { fg = mocha.mantle },
["S"] = { fg = mocha.subtext1},
}
local header = {}
for _, line in ipairs(color_map) do
local header_line = [[]]
for i = 1, #line do
if line:sub(i, i) ~= " " then
header_line = header_line .. "█"
else
header_line = header_line .. " "
end
end
table.insert(header, header_line)
end
local header_add = [[ N E O B E E ]]
table.insert(header, header_add)
local hl_add = {}
for i = 1, #header_add do
table.insert(hl_add, {"NeoBeeTitle", 1, i})
end
dashboard.section.header.val = header
local colorized = colorize(header, color_map, colors)
table.insert(colorized, hl_add)
dashboard.section.header.opts = {
hl = colorized,
position = "center",
}
dashboard.section.buttons.val = {
dashboard.button("SPC e e", " New file", "<Cmd>ene <CR>"),
dashboard.button("SPC f f", " Find file"),
dashboard.button("SPC s s", " NeoBee config", "<Cmd>Neotree reveal ~/.config/nvim<CR>"),
dashboard.button("SPC q q", " Quit", "<Cmd>qa<CR>"),
}
for _, a in ipairs(dashboard.section.buttons.val) do
a.opts.width = 49
a.opts.cursor = -2
end
alpha.setup(dashboard.config)
end
return alpha_c
|
Beta Was this translation helpful? Give feedback.
-
Just wanted something that only displayed my recent sessions saved with my session manager (plus quick access keybinds) and a simple header, as well as a centered dashboard. Wasn't possible with other solutions (without some hacks) so now i am using alpha :) |
Beta Was this translation helpful? Give feedback.
-
{
'goolord/alpha-nvim',
config = function()
local alpha = require 'alpha'
local dashboard = require 'alpha.themes.dashboard'
dashboard.section.header.val = {
[[ . . , , , ,\/\/\ ]],
[[ |` \/ \/ \,', , |\|\|` : ]],
[[ ; ` \/\,. .-.|` \ ]],
[[ : ` \,/ \-\ \ ]],
[[ | / \ : ]],
[[ ; : \ ____ ,-^-. ]],
[[ : ; \ ,' `. o\ ]],
[[ | ,---. / \ ( o : ; ]],
[[ : ,' `,-._ \ \ \ ;`-"' ) ]],
[[ ; ( o \ `' \_ `-..-' -'( ]],
[[ _: . ,' o ; ,'a` \ ]],
[[ /,.` `.__,'`-.__, `._,' , ) ]],
[[ \_ _ \ \ '`----=-----' ]],
[[ ,' / `, `.,' ; ,-' ]],
[[ ___,'`-._ \_/ `,._ ; / \ ]],
[[ __;_,' `-.`-'./ `--.____) ,' \ ]],
[[ ,-' _,--\^-' ; \ ]],
[[ ,:_____ ,-' \ ' , \ \ ]],
[[ (,' `--. \;-._ ; / / . .) \ ]],
[[ : Y `-/ `, : : / \ \ ]],
[[ : : : /_;' ; |; \ : ]],
[[ : : | : ; | | | ]],
[[ \ \ : : \ | . | : ]],
[[ `-._ `-.__, \ `. ) \ ,' | ]],
[[ \ \ `. \ `. , ) ,----------|_;; ]],
[[ ,-; \---)_\ ,','/ (_/ // | CENSORED | ]],
[[ \_ `---'--'" ,'^-;' `' | |__________| ]],
[[ (_` ---'" ,-') | ; | | ]],
[[ / `--.__,. ,-' \ | | | | ]],
[[ )-.__,-- ||___,--' `-. | |,' `-._ ]],
[[ /._______,|__________,'\ | `-._ `..) ]],
[[ `--.____,'|_________,-' | `.;""---` ]],
[[ `--._;_)-' ]],
}
dashboard.section.buttons.val = {
dashboard.button('e', ' [E]nter new file', ':ene <BAR> startinsert <CR>'),
dashboard.button('q', ' [Q]uit NVIM', ':qa<CR>'),
{ type = 'button', val = '' },
dashboard.button('_ s .', ' [S]earch recent files', ':<leader> s .'),
dashboard.button('_ s n', ' [S]earch [N]eovim files', ''),
dashboard.button('_ s k', ' [S]earch [K]eymaps', ''),
dashboard.button('_ s h', ' [S]earch [H]elp', ''),
}
local handle = io.popen 'fortune'
local fortune = handle:read '*a'
handle:close()
dashboard.section.footer.val = fortune
dashboard.config.opts.noautocmd = true
vim.cmd [[autocmd User AlphaReady echo 'ready']]
alpha.setup(dashboard.config)
end,
},
|
Beta Was this translation helpful? Give feedback.
-
the img is generated by img2art [waddle.txt](https://github.com/user-attachments/files/16791367/waddle.txt) |
Beta Was this translation helpful? Give feedback.
-
Pikachu giving me a little bit of joy everyday I open neovim |
Beta Was this translation helpful? Give feedback.
-
currently cycling through these three every time i open nvim! |
Beta Was this translation helpful? Give feedback.
-
Scuffed Outer Wilds dashboard with random quotes from the game built on top of @BlakeJC94's starting config :) -- Obligatory spoiler warning whenever you mention anything about this game -- Here is my config, I started Neovim like 3 days ago so excuse the clutter. |
Beta Was this translation helpful? Give feedback.
-
NEOVEEEEEEEEEEEEEEEEEEEM 🗣️🔥🔥 My silly ascii art that I've used before, it's more minimalistic right now, but this one will be in my heart <3
|
Beta Was this translation helpful? Give feedback.
-
I actually got bottom part from somebody here, not sure who was it. |
Beta Was this translation helpful? Give feedback.
-
A simple dashboard with a Blade Runner theme, using a Blade Runner inspired font for the Neovim logo. It is meant to go with the various Blade Runner backgrounds that my terminal sets at random when I launch a new shell. A few different ones are shown here. I discovered that putting the Recent item first means I can just double tap <Enter> on startup to resume working on whatever last file I had open, which is actually quite handy! Great plugin -- thanks for making it. |
Beta Was this translation helpful? Give feedback.
-
share screenshots/screencasts/code of your alpha rice :-)
Beta Was this translation helpful? Give feedback.
All reactions