Repository navigation
Extras
lcfd edited this page Oct 12, 2026
·
1 revision
NaryaVim ships with a few home-made modules in lua/custom/. They don't need extra plugins, and they stay out of the way until you use them.
A complete client for the Music Player Daemon. It speaks the MPD protocol directly over TCP or a unix socket, so you don't need mpc or Telescope.
-
Command center (
<leader>mm): a searchable queue with cover thumbnails, song details, every action with its shortcut, and a now-playing bar with progress and volume. -
Playlists (
<leader>ml): create, rename, delete, reorder and play stored playlists. -
Quick actions: add songs (
<leader>ms) or albums (<leader>ma), play/pause (<leader>mp), next/previous (<leader>mn/<leader>mb). - Statusline: the playing song shows in lualine.
- Cover art in terminals that support the kitty graphics protocol (kitty, Ghostty). ImageMagick shrinks the queue thumbnails.
It connects to $MPD_HOST / $MPD_PORT, or 127.0.0.1:6600 if they're not set. Full documentation: lua/custom/mpd/README.md.
Random tables and a dice roller for solo tabletop RPGs, inspired by solo-toolkit.
It only turns on when Neovim's working directory contains an rpg.toml file. Run :RpgInit to create one, then open the toolkit with :Rpg or <leader>R.
tables_dir = "Tables" # folder of Markdown random tables
dice = ["d4", "d6", "d8", "d10", "d12", "d20", "d100"] # optional quick dice-
Random tables: every
.mdfile intables_diris a table, and subfolders are categories. A roll returns a random line. Templates in the front matter can combine sections and other tables, e.g.loves: "{name} loves {food}". -
Dice roller: expressions like
2d10 + 3d6 - 2, withd%, fudge dice (dF), exploding dice (!), keep highest/lowest (kh2,kl1), and advantage/disadvantage (/a,/d). - Results and roll history are kept for the whole session.
-
:CopyPathcopies the absolute path of the current file to the clipboard. -
<leader>tcopens a picker to convert the word or selection to another case (snake, camel, kebab, …).