Custom plugins¶
Beyond LazyVim and its extras, .config/nvim/lua/plugins/ holds project-specific plugin
specs and overrides.
Theme¶
cyberdream.lua¶
return {
{ "scottmckendry/cyberdream.nvim", lazy = false, priority = 1000 },
{ "nvim-lualine/lualine.nvim", opts = { theme = "auto" } },
}
Loads cyberdream.nvim eagerly with the highest priority so the colourscheme is in place before any other UI renders.
lua-line.lua¶
Drops the lualine_z section so the status line ends at branch/diagnostics instead of the
default position/percent block.
header.lua¶
Custom Snacks dashboard header — ASCII art that spells "Deavon's Terminal". See
Customize → NeoVim dashboard header
for how to regenerate the art with figlet.
UX¶
snacks.lua¶
A big Snacks configuration covering:
- Explorer — hidden files visible, gitignored files visible.
- Sessions picker — lists tmux sessions as a tree and switches to the picked one with
tmux switch-client. The active session is shown at the top with a(current)label so its worktrees nest visibly underneath; selecting it is a no-op. Sessions whosesession_pathlives under~/.cache/agent/worktrees/(the Claude Code worktree hook convention) are treated as worktrees and indented under the tmux session whose name is the longest matching prefix — sodotfiles-feature-branchnests underdotfiles. Worktrees whose parent isn't currently in tmux land under a synthetic(orphans)header. The preview pane runsgit -C <path> status -sbso branch + ahead/behind + dirty state are visible at a glance. Bind: ++leader++ F S. - Snippets picker — fuzzy-find LuaSnip snippets with live preview and expansion. Bind: ++leader++ F X.
- Image previews — enabled (
image = {}), so:Snacks.picker.filespreviews images inline in the supported terminals. - Files default to cwd — ++leader++ Space uses
root = falseso it searches the current directory rather than the project root.
auto-save.lua¶
return {
"Pocco81/auto-save.nvim",
opts = {
trigger_events = { "InsertLeave" },
debounce_delay = 500,
},
keys = { { "<leader>uv", "<cmd>ASToggle<CR>", desc = "Toggle Auto-save" } },
}
Saves on InsertLeave with a 500 ms debounce. Toggle with ++leader++ U V.
blink.lua¶
Configures blink.cmp so the completion menu doesn't preselect the first item — pressing
Enter inserts a literal newline instead of accepting an unwanted completion.
grug-far.lua¶
Search-and-replace TUI scoped to the current buffer. Bind: ++leader++ S F.
vim-tmux-navigator.lua¶
Maps Ctrl+H / Ctrl+J / Ctrl+K / Ctrl+L for seamless navigation between Vim splits and tmux panes. Paired with the matching tmux plugin (see tmux).
ghostty.lua¶
Loads the vimfiles bundled with Ghostty so the
ghostty config filetype gets syntax highlighting:
sql.lua¶
Wires sqlfluff into the LazyVim formatting and linting machinery (format - and
lint --format=json).
Language plugins¶
lua/plugins/lang/ adds support for languages not covered by LazyVim extras:
| File | Adds |
|---|---|
go.lua |
Extra Go tooling / debug configuration. |
markdown.lua |
Markdown-specific plugin tweaks (treesitter, render, etc.). |
tofu.lua |
OpenTofu (Terraform fork) support. |
xml.lua |
XML LSP / formatting. |
jinja.lua |
Jinja2 templating filetype + LSP. |
protobuf.lua |
Protocol Buffers LSP / formatting. |