share your alpha theme #16
Replies: 145 comments 326 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.
-
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.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Modified version of DaiterGG's post; fortune integration idea from f0ur3y3s' post.
|
Beta Was this translation helpful? Give feedback.
-
|
I wrote a tool that generates alpha headers from arbitrary terminal output. For example I generated this header from my profile picture, catimg, and term2alpha. https://codeberg.org/sashanoraa/term2alpha
|
Beta Was this translation helpful? Give feedback.
-
|
For the BMW M fans :D It is a bit cringe, but I like it:
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Simplified, so I can easily switch between my projects:
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
im using nhattVim/alpha-ascii.nvim to toggle and load ascii arts generated using img2art
|
Beta Was this translation helpful? Give feedback.
-
|
It's been 84 years... but here is mine
|
Beta Was this translation helpful? Give feedback.
-
|
Took some inspiration from this thread.
Config is available here: I generate the Rinnegan ASCII art from this source image: https://static.wikia.nocookie.net/naruto/images/7/7d/Sasuke%27s_Rinnegan.png/revision/latest/scale-to-width-down/3483?cb=20160909022555 I used https://github.com/Asthestarsfalll/img2art to turn it to ASCII. Do note:
Credits: #16 (comment) |
Beta Was this translation helpful? Give feedback.
-
https://gist.github.com/Baguma03/e728a55b53b03c13c3ad0d257d78fdfb |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
bless this thread
|
Beta Was this translation helpful? Give feedback.
-
https://github.com/Hordunlarmy/nvim/blob/main/lua/plugins/alpha_dashboard.lua |
Beta Was this translation helpful? Give feedback.
-
|
… On Mon, May 18, 2026 at 8:25 PM pastamancer ***@***.***> wrote:
This looks rly cool, can u share ur config
—
Reply to this email directly, view it on GitHub
<#16 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BYB5WJQGBF5HLY2AJTNV2TD43NBQLAVCNFSM5DYY62G2U5DIOJSWCZC7NNSXTOSENFZWG5LTONUW63SDN5WW2ZLOOQ5TCNRZGY2TGMZW>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.








































Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
share screenshots/screencasts/code of your alpha rice :-)
Beta Was this translation helpful? Give feedback.
All reactions