summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
authorTommaso Negri <tommaso@hey.com>2025-12-11 23:27:24 +0100
committerTommaso Negri <tommaso@hey.com>2025-12-11 23:27:24 +0100
commitcbad1ee388461c586167007cbe1fcca9988446b6 (patch)
tree0b024644b0ab9b90eea544e7422666e119fa6123 /extras
parent9ca2743e0c2f882a0f9015ab250320c344016897 (diff)
downloadvoltage-cbad1ee388461c586167007cbe1fcca9988446b6.tar.gz
voltage-cbad1ee388461c586167007cbe1fcca9988446b6.zip
Add yazi flavors
Diffstat (limited to 'extras')
-rw-r--r--extras/yazi/voltage-blue.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-blue.yazi/tmtheme.xml251
-rw-r--r--extras/yazi/voltage-cyan.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-cyan.yazi/tmtheme.xml251
-rw-r--r--extras/yazi/voltage-green.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-green.yazi/tmtheme.xml251
-rw-r--r--extras/yazi/voltage-magenta.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-magenta.yazi/tmtheme.xml251
-rw-r--r--extras/yazi/voltage-red.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-red.yazi/tmtheme.xml251
-rw-r--r--extras/yazi/voltage-yellow.yazi/flavor.toml186
-rw-r--r--extras/yazi/voltage-yellow.yazi/tmtheme.xml251
12 files changed, 2622 insertions, 0 deletions
diff --git a/extras/yazi/voltage-blue.yazi/flavor.toml b/extras/yazi/voltage-blue.yazi/flavor.toml
new file mode 100644
index 0000000..84f4525
--- /dev/null
+++ b/extras/yazi/voltage-blue.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#010408", bg = "#46bc69" } # blue.darkest, green.regular
+count_cut = { fg = "#010408", bg = "#f5746d" } # blue.darkest, red.regular
+count_selected = { fg = "#010408", bg = "#b1a600" } # blue.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#010408", bg = "#32a9fe", bold = true } # blue.darkest, blue.regular
+inactive = { fg = "#32a9fe", bg = "#0f304a" } # blue.regular, blue.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#010408", bg = "#32a9fe", bold = true } # blue.darkest, blue.regular
+normal_alt = { fg = "#32a9fe", bg = "#0f304a" } # blue.regular, blue.darker
+
+# Select mode
+select_main = { fg = "#010408", bg = "#00bcbc", bold = true } # blue.darkest, cyan.regular
+select_alt = { fg = "#00bcbc", bg = "#0f304a" } # cyan.regular, blue.darker
+
+# Unset mode
+unset_main = { fg = "#010408", bg = "#f69b94", bold = true } # blue.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#0f304a" } # red.light, blue.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#32a9fe" } # blue.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#e4f0fb", bold = true } # blue.lightest
+progress_normal = { fg = "#46bc69", bg = "#1f689d" } # green.regular, blue.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#32a9fe" } # blue.regular
+active = { fg = "#d27bd8", bold = true } # magenta.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#32a9fe" } # blue.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#32a9fe" } # blue.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#32a9fe" } # blue.regular
+title = {}
+hovered = { fg = "#d27bd8", bold = true } # magenta.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#0f304a" } # blue.darker
+cand = { fg = "#00bcbc" } # cyan.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#d27bd8" } # magenta.regular
+separator = "  "
+separator_style = { fg = "#1f689d" } # blue.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#00bcbc" } # cyan.regular
+run = { fg = "#d27bd8" } # magenta.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#0f304a", bg = "#e4f0fb" } # blue.darker, blue.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#32a9fe" } # blue.regular
+title = { fg = "#32a9fe" } # blue.regular
+tbl_col = { fg = "#00bcbc" } # cyan.regular
+tbl_cell = { fg = "#d27bd8", bg = "#1f689d" } # magenta.regular, blue.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#e4f0fb" }, # blue.lightest
+ { url = "*/", fg = "#32a9fe" }, # blue.regular
+ # TODO: remove
+ { name = "*", fg = "#e4f0fb" }, # blue.lightest
+ { name = "*/", fg = "#32a9fe" } # blue.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-blue.yazi/tmtheme.xml b/extras/yazi/voltage-blue.yazi/tmtheme.xml
new file mode 100644
index 0000000..c081d24
--- /dev/null
+++ b/extras/yazi/voltage-blue.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Blue</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-blue</string>
+ <key>uuid</key>
+ <string>9494cab2-3883-495a-800d-ecfd79f5b063</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#010408</string>
+ <key>foreground</key>
+ <string>#e4f0fb</string>
+ <key>caret</key>
+ <string>#aed3f3</string>
+ <key>lineHighlight</key>
+ <string>#0f304a</string>
+ <key>selection</key>
+ <string>#1f689d40</string>
+ <key>activeGuide</key>
+ <string>#1f689d</string>
+ <key>findHighlight</key>
+ <string>#1f689d</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#e4f0fb</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/extras/yazi/voltage-cyan.yazi/flavor.toml b/extras/yazi/voltage-cyan.yazi/flavor.toml
new file mode 100644
index 0000000..3b2a7d5
--- /dev/null
+++ b/extras/yazi/voltage-cyan.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#000505", bg = "#46bc69" } # cyan.darkest, green.regular
+count_cut = { fg = "#000505", bg = "#f5746d" } # cyan.darkest, red.regular
+count_selected = { fg = "#000505", bg = "#b1a600" } # cyan.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#000505", bg = "#00bcbc", bold = true } # cyan.darkest, cyan.regular
+inactive = { fg = "#00bcbc", bg = "#003737" } # cyan.regular, cyan.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#000505", bg = "#00bcbc", bold = true } # cyan.darkest, cyan.regular
+normal_alt = { fg = "#00bcbc", bg = "#003737" } # cyan.regular, cyan.darker
+
+# Select mode
+select_main = { fg = "#000505", bg = "#32a9fe", bold = true } # cyan.darkest, blue.regular
+select_alt = { fg = "#32a9fe", bg = "#003737" } # blue.regular, cyan.darker
+
+# Unset mode
+unset_main = { fg = "#000505", bg = "#f69b94", bold = true } # cyan.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#003737" } # red.light, cyan.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#00bcbc" } # cyan.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#e0f3f3", bold = true } # cyan.lightest
+progress_normal = { fg = "#46bc69", bg = "#007576" } # green.regular, cyan.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#00bcbc" } # cyan.regular
+active = { fg = "#d27bd8", bold = true } # magenta.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#00bcbc" } # cyan.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#00bcbc" } # cyan.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#00bcbc" } # cyan.regular
+title = {}
+hovered = { fg = "#d27bd8", bold = true } # magenta.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#003737" } # cyan.darker
+cand = { fg = "#32a9fe" } # blue.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#d27bd8" } # magenta.regular
+separator = " "
+separator_style = { fg = "#007576" } # cyan.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#32a9fe" } # blue.regular
+run = { fg = "#d27bd8" } # magenta.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#003737", bg = "#e0f3f3" } # cyan.darker, cyan.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#00bcbc" } # cyan.regular
+title = { fg = "#00bcbc" } # cyan.regular
+tbl_col = { fg = "#32a9fe" } # blue.regular
+tbl_cell = { fg = "#d27bd8", bg = "#007576" } # magenta.regular, cyan.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#e0f3f3" }, # cyan.lightest
+ { url = "*/", fg = "#00bcbc" }, # cyan.regular
+ # TODO: remove
+ { name = "*", fg = "#e0f3f3" }, # cyan.lightest
+ { name = "*/", fg = "#00bcbc" } # cyan.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-cyan.yazi/tmtheme.xml b/extras/yazi/voltage-cyan.yazi/tmtheme.xml
new file mode 100644
index 0000000..af7aea0
--- /dev/null
+++ b/extras/yazi/voltage-cyan.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Cyan</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-cyan</string>
+ <key>uuid</key>
+ <string>037703d0-2c96-42d2-a8cd-219cec1b909a</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#000505</string>
+ <key>foreground</key>
+ <string>#e0f3f3</string>
+ <key>caret</key>
+ <string>#a0dbda</string>
+ <key>lineHighlight</key>
+ <string>#003737</string>
+ <key>selection</key>
+ <string>#00757640</string>
+ <key>activeGuide</key>
+ <string>#007576</string>
+ <key>findHighlight</key>
+ <string>#007576</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#e0f3f3</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/extras/yazi/voltage-green.yazi/flavor.toml b/extras/yazi/voltage-green.yazi/flavor.toml
new file mode 100644
index 0000000..9365a0e
--- /dev/null
+++ b/extras/yazi/voltage-green.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#010502", bg = "#46bc69" } # green.darkest, green.regular
+count_cut = { fg = "#010502", bg = "#f5746d" } # green.darkest, red.regular
+count_selected = { fg = "#010502", bg = "#b1a600" } # green.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#010502", bg = "#46bc69", bold = true } # green.darkest, green.regular
+inactive = { fg = "#46bc69", bg = "#14361d" } # green.regular, green.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#010502", bg = "#46bc69", bold = true } # green.darkest, green.regular
+normal_alt = { fg = "#46bc69", bg = "#14361d" } # green.regular, green.darker
+
+# Select mode
+select_main = { fg = "#010502", bg = "#00bcbc", bold = true } # green.darkest, cyan.regular
+select_alt = { fg = "#00bcbc", bg = "#14361d" } # cyan.regular, green.darker
+
+# Unset mode
+unset_main = { fg = "#010502", bg = "#f69b94", bold = true } # green.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#14361d" } # red.light, green.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#46bc69" } # green.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#e6f3e8", bold = true } # green.lightest
+progress_normal = { fg = "#46bc69", bg = "#2b7440" } # green.regular, green.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#46bc69" } # green.regular
+active = { fg = "#d27bd8", bold = true } # magenta.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#46bc69" } # green.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#46bc69" } # green.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#46bc69" } # green.regular
+title = {}
+hovered = { fg = "#d27bd8", bold = true } # magenta.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#14361d" } # green.darker
+cand = { fg = "#00bcbc" } # cyan.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#d27bd8" } # magenta.regular
+separator = " "
+separator_style = { fg = "#2b7440" } # green.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#00bcbc" } # cyan.regular
+run = { fg = "#d27bd8" } # magenta.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#14361d", bg = "#e6f3e8" } # green.darker, green.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#46bc69" } # green.regular
+title = { fg = "#46bc69" } # green.regular
+tbl_col = { fg = "#00bcbc" } # cyan.regular
+tbl_cell = { fg = "#d27bd8", bg = "#2b7440" } # magenta.regular, green.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#e6f3e8" }, # green.lightest
+ { url = "*/", fg = "#46bc69" }, # green.regular
+ # TODO: remove
+ { name = "*", fg = "#e6f3e8" }, # green.lightest
+ { name = "*/", fg = "#46bc69" } # green.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-green.yazi/tmtheme.xml b/extras/yazi/voltage-green.yazi/tmtheme.xml
new file mode 100644
index 0000000..b48d628
--- /dev/null
+++ b/extras/yazi/voltage-green.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Green</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-green</string>
+ <key>uuid</key>
+ <string>285a6009-52de-4922-acfc-5e3d3919b775</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#010502</string>
+ <key>foreground</key>
+ <string>#e6f3e8</string>
+ <key>caret</key>
+ <string>#b3d9b9</string>
+ <key>lineHighlight</key>
+ <string>#14361d</string>
+ <key>selection</key>
+ <string>#2b744040</string>
+ <key>activeGuide</key>
+ <string>#2b7440</string>
+ <key>findHighlight</key>
+ <string>#2b7440</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#e6f3e8</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/extras/yazi/voltage-magenta.yazi/flavor.toml b/extras/yazi/voltage-magenta.yazi/flavor.toml
new file mode 100644
index 0000000..64c3119
--- /dev/null
+++ b/extras/yazi/voltage-magenta.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#060206", bg = "#46bc69" } # magenta.darkest, green.regular
+count_cut = { fg = "#060206", bg = "#f5746d" } # magenta.darkest, red.regular
+count_selected = { fg = "#060206", bg = "#b1a600" } # magenta.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#060206", bg = "#d27bd8", bold = true } # magenta.darkest, magenta.regular
+inactive = { fg = "#d27bd8", bg = "#3d233e" } # magenta.regular, magenta.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#060206", bg = "#d27bd8", bold = true } # magenta.darkest, magenta.regular
+normal_alt = { fg = "#d27bd8", bg = "#3d233e" } # magenta.regular, magenta.darker
+
+# Select mode
+select_main = { fg = "#060206", bg = "#00bcbc", bold = true } # magenta.darkest, cyan.regular
+select_alt = { fg = "#00bcbc", bg = "#3d233e" } # cyan.regular, magenta.darker
+
+# Unset mode
+unset_main = { fg = "#060206", bg = "#f69b94", bold = true } # magenta.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#3d233e" } # red.light, magenta.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#d27bd8" } # magenta.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#f6eaf6", bold = true } # magenta.lightest
+progress_normal = { fg = "#46bc69", bg = "#824b85" } # green.regular, magenta.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#d27bd8" } # magenta.regular
+active = { fg = "#00bcbc", bold = true } # cyan.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#d27bd8" } # magenta.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#d27bd8" } # magenta.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#d27bd8" } # magenta.regular
+title = {}
+hovered = { fg = "#00bcbc", bold = true } # cyan.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#3d233e" } # magenta.darker
+cand = { fg = "#00bcbc" } # cyan.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#32a9fe" } # blue.regular
+separator = " "
+separator_style = { fg = "#824b85" } # magenta.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#00bcbc" } # cyan.regular
+run = { fg = "#32a9fe" } # blue.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#3d233e", bg = "#f6eaf6" } # magenta.darker, magenta.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#d27bd8" } # magenta.regular
+title = { fg = "#d27bd8" } # magenta.regular
+tbl_col = { fg = "#00bcbc" } # cyan.regular
+tbl_cell = { fg = "#32a9fe", bg = "#824b85" } # blue.regular, magenta.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#f6eaf6" }, # magenta.lightest
+ { url = "*/", fg = "#d27bd8" }, # magenta.regular
+ # TODO: remove
+ { name = "*", fg = "#f6eaf6" }, # magenta.lightest
+ { name = "*/", fg = "#d27bd8" } # magenta.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-magenta.yazi/tmtheme.xml b/extras/yazi/voltage-magenta.yazi/tmtheme.xml
new file mode 100644
index 0000000..e404010
--- /dev/null
+++ b/extras/yazi/voltage-magenta.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Magenta</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-magenta</string>
+ <key>uuid</key>
+ <string>0a596324-9c0d-49ba-96fe-1c04446f22ce</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#060206</string>
+ <key>foreground</key>
+ <string>#f6eaf6</string>
+ <key>caret</key>
+ <string>#e3c1e4</string>
+ <key>lineHighlight</key>
+ <string>#3d233e</string>
+ <key>selection</key>
+ <string>#824b8540</string>
+ <key>activeGuide</key>
+ <string>#824b85</string>
+ <key>findHighlight</key>
+ <string>#824b85</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f6eaf6</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/extras/yazi/voltage-red.yazi/flavor.toml b/extras/yazi/voltage-red.yazi/flavor.toml
new file mode 100644
index 0000000..276833d
--- /dev/null
+++ b/extras/yazi/voltage-red.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#080202", bg = "#46bc69" } # red.darkest, green.regular
+count_cut = { fg = "#080202", bg = "#f5746d" } # red.darkest, red.regular
+count_selected = { fg = "#080202", bg = "#b1a600" } # red.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#080202", bg = "#f5746d", bold = true } # red.darkest, red.regular
+inactive = { fg = "#f5746d", bg = "#47211e" } # red.regular, red.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#080202", bg = "#f5746d", bold = true } # red.darkest, red.regular
+normal_alt = { fg = "#f5746d", bg = "#47211e" } # red.regular, red.darker
+
+# Select mode
+select_main = { fg = "#080202", bg = "#00bcbc", bold = true } # red.darkest, cyan.regular
+select_alt = { fg = "#00bcbc", bg = "#47211e" } # cyan.regular, red.darker
+
+# Unset mode
+unset_main = { fg = "#080202", bg = "#f69b94", bold = true } # red.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#47211e" } # red.light, red.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#f5746d" } # red.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#fceae8", bold = true } # red.lightest
+progress_normal = { fg = "#46bc69", bg = "#984742" } # green.regular, red.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#f5746d" } # red.regular
+active = { fg = "#d27bd8", bold = true } # magenta.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#f5746d" } # red.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#f5746d" } # red.regular
+title = {}
+hovered = { fg = "#d27bd8", bold = true } # magenta.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#47211e" } # red.darker
+cand = { fg = "#00bcbc" } # cyan.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#d27bd8" } # magenta.regular
+separator = " "
+separator_style = { fg = "#984742" } # red.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#00bcbc" } # cyan.regular
+run = { fg = "#d27bd8" } # magenta.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#47211e", bg = "#fceae8" } # red.darker, red.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#f5746d" } # red.regular
+title = { fg = "#f5746d" } # red.regular
+tbl_col = { fg = "#00bcbc" } # cyan.regular
+tbl_cell = { fg = "#d27bd8", bg = "#984742" } # magenta.regular, red.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#fceae8" }, # red.lightest
+ { url = "*/", fg = "#f5746d" }, # red.regular
+ # TODO: remove
+ { name = "*", fg = "#fceae8" }, # red.lightest
+ { name = "*/", fg = "#f5746d" } # red.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-red.yazi/tmtheme.xml b/extras/yazi/voltage-red.yazi/tmtheme.xml
new file mode 100644
index 0000000..433763b
--- /dev/null
+++ b/extras/yazi/voltage-red.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Red</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-red</string>
+ <key>uuid</key>
+ <string>fd9ef2bb-f813-410e-b6d3-27793a634a80</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#080202</string>
+ <key>foreground</key>
+ <string>#fceae8</string>
+ <key>caret</key>
+ <string>#f3bfba</string>
+ <key>lineHighlight</key>
+ <string>#47211e</string>
+ <key>selection</key>
+ <string>#98474240</string>
+ <key>activeGuide</key>
+ <string>#984742</string>
+ <key>findHighlight</key>
+ <string>#984742</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#fceae8</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/extras/yazi/voltage-yellow.yazi/flavor.toml b/extras/yazi/voltage-yellow.yazi/flavor.toml
new file mode 100644
index 0000000..b0949db
--- /dev/null
+++ b/extras/yazi/voltage-yellow.yazi/flavor.toml
@@ -0,0 +1,186 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# : Manager {{{
+
+[mgr]
+cwd = { fg = "#00bcbc" } # cyan.regular
+
+# Hovered
+hovered = { reversed = true }
+preview_hovered = { underline = true }
+
+# Find
+find_keyword = { fg = "#b1a600", bold = true, italic = true, underline = true } # yellow.regular
+find_position = { fg = "#d27bd8", bg = "reset", bold = true, italic = true } # magenta.regular
+
+# Marker
+marker_copied = { fg = "#46bc69", bg = "#46bc69" } # green.regular
+marker_cut = { fg = "#f5746d", bg = "#f5746d" } # red.regular
+marker_marked = { fg = "#00bcbc", bg = "#00bcbc" } # cyan.regular
+marker_selected = { fg = "#b1a600", bg = "#b1a600" } # yellow.regular
+
+# Count
+count_copied = { fg = "#040300", bg = "#46bc69" } # yellow.darkest, green.regular
+count_cut = { fg = "#040300", bg = "#f5746d" } # yellow.darkest, red.regular
+count_selected = { fg = "#040300", bg = "#b1a600" } # yellow.darkest, yellow.regular
+
+# Border
+border_symbol = "│"
+border_style = { fg = "#636363" } # dimmed
+
+# : }}}
+
+
+# : Tabs {{{
+
+[tabs]
+active = { fg = "#040300", bg = "#b1a600", bold = true } # yellow.darkest, yellow.regular
+inactive = { fg = "#b1a600", bg = "#322f04" } # yellow.regular, yellow.darker
+
+# : }}}
+
+
+# : Mode {{{
+
+[mode]
+
+normal_main = { fg = "#040300", bg = "#b1a600", bold = true } # yellow.darkest, yellow.regular
+normal_alt = { fg = "#b1a600", bg = "#322f04" } # yellow.regular, yellow.darker
+
+# Select mode
+select_main = { fg = "#040300", bg = "#00bcbc", bold = true } # yellow.darkest, cyan.regular
+select_alt = { fg = "#00bcbc", bg = "#322f04" } # cyan.regular, yellow.darker
+
+# Unset mode
+unset_main = { fg = "#040300", bg = "#f69b94", bold = true } # yellow.darkest, red.light
+unset_alt = { fg = "#f69b94", bg = "#322f04" } # red.light, yellow.darker
+
+# : }}}
+
+
+# : Status bar {{{
+
+[status]
+# Permissions
+perm_sep = { fg = "#636363" } # dimmed
+perm_type = { fg = "#b1a600" } # yellow.regular
+perm_read = { fg = "#b1a600" } # yellow.regular
+perm_write = { fg = "#f5746d" } # red.regular
+perm_exec = { fg = "#46bc69" } # green.regular
+
+# Progress
+progress_label = { fg = "#f0f0e0", bold = true } # yellow.lightest
+progress_normal = { fg = "#46bc69", bg = "#6d6600" } # green.regular, yellow.dark
+progress_error = { fg = "#b1a600", bg = "#f5746d" } # yellow.regular, red.regular
+
+# : }}}
+
+
+# : Pick {{{
+
+[pick]
+border = { fg = "#b1a600" } # yellow.regular
+active = { fg = "#d27bd8", bold = true } # magenta.regular
+inactive = {}
+
+# : }}}
+
+
+# : Input {{{
+
+[input]
+border = { fg = "#b1a600" } # yellow.regular
+title = {}
+value = {}
+selected = { reversed = true }
+
+# : }}}
+
+
+# : Completion {{{
+
+[cmp]
+border = { fg = "#b1a600" } # yellow.regular
+
+# : }}}
+
+
+# : Tasks {{{
+
+[tasks]
+border = { fg = "#b1a600" } # yellow.regular
+title = {}
+hovered = { fg = "#d27bd8", bold = true } # magenta.regular
+
+# : }}}
+
+
+# : Which {{{
+
+[which]
+mask = { bg = "#322f04" } # yellow.darker
+cand = { fg = "#00bcbc" } # cyan.regular
+rest = { fg = "#636363" } # dimmed
+desc = { fg = "#d27bd8" } # magenta.regular
+separator = " "
+separator_style = { fg = "#6d6600" } # yellow.dark
+
+# : }}}
+
+
+# : Help {{{
+
+[help]
+on = { fg = "#00bcbc" } # cyan.regular
+run = { fg = "#d27bd8" } # magenta.regular
+hovered = { reversed = true, bold = true }
+footer = { fg = "#322f04", bg = "#f0f0e0" } # yellow.darker, yellow.lightest
+
+# : }}}
+
+
+# : Spotter {{{
+
+[spot]
+border = { fg = "#b1a600" } # yellow.regular
+title = { fg = "#b1a600" } # yellow.regular
+tbl_col = { fg = "#00bcbc" } # cyan.regular
+tbl_cell = { fg = "#d27bd8", bg = "#6d6600" } # magenta.regular, yellow.dark
+
+# : }}}
+
+
+# : Notification {{{
+
+[notify]
+title_info = { fg = "#46bc69" } # green.regular
+title_warn = { fg = "#b1a600" } # yellow.regular
+title_error = { fg = "#f5746d" } # red.regular
+
+# : }}}
+
+
+# : File-specific styles {{{
+
+[filetype]
+
+rules = [
+ # Image
+ { mime = "image/*", fg = "#00bcbc" }, # cyan.regular
+ # Media
+ { mime = "{audio,video}/*", fg = "#b1a600" }, # yellow.regular
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#d27bd8" }, # magenta.regular
+ # Document
+ { mime = "application/{pdf,doc,rtf}", fg = "#46bc69" }, # green.regular
+ # Virtual file system
+ { mime = "vfs/{absent,stale}", fg = "#636363" }, # dimmed
+ # Fallback
+ { url = "*", fg = "#f0f0e0" }, # yellow.lightest
+ { url = "*/", fg = "#b1a600" }, # yellow.regular
+ # TODO: remove
+ { name = "*", fg = "#f0f0e0" }, # yellow.lightest
+ { name = "*/", fg = "#b1a600" } # yellow.regular
+]
+
+# : }}}
diff --git a/extras/yazi/voltage-yellow.yazi/tmtheme.xml b/extras/yazi/voltage-yellow.yazi/tmtheme.xml
new file mode 100644
index 0000000..62bb49d
--- /dev/null
+++ b/extras/yazi/voltage-yellow.yazi/tmtheme.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>name</key>
+ <string>Voltage Yellow</string>
+ <key>semanticClass</key>
+ <string>theme.dark.voltage-yellow</string>
+ <key>uuid</key>
+ <string>506f548a-02cf-463a-ade7-b0931f6adeff</string>
+ <key>author</key>
+ <string>tommasongr</string>
+ <key>colorSpaceName</key>
+ <string>sRGB</string>
+ <key>settings</key>
+ <array>
+ <dict>
+ <key>settings</key>
+ <dict>
+ <key>background</key>
+ <string>#040300</string>
+ <key>foreground</key>
+ <string>#f0f0e0</string>
+ <key>caret</key>
+ <string>#d3d1a3</string>
+ <key>lineHighlight</key>
+ <string>#322f04</string>
+ <key>selection</key>
+ <string>#6d660040</string>
+ <key>activeGuide</key>
+ <string>#6d6600</string>
+ <key>findHighlight</key>
+ <string>#6d6600</string>
+ <key>gutterForeground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- Comments -->
+ <dict>
+ <key>name</key>
+ <string>Comments</string>
+ <key>scope</key>
+ <string>comment, punctuation.definition.comment</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <!-- Strings -->
+ <dict>
+ <key>name</key>
+ <string>Strings</string>
+ <key>scope</key>
+ <string>string, punctuation.definition.string</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <!-- Constants, Numbers, Booleans -->
+ <dict>
+ <key>name</key>
+ <string>Constants</string>
+ <key>scope</key>
+ <string>constant, constant.numeric, constant.language, constant.character, variable.other.constant</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#d27bd8</string>
+ </dict>
+ </dict>
+
+ <!-- Function Definitions -->
+ <dict>
+ <key>name</key>
+ <string>Function Definitions</string>
+ <key>scope</key>
+ <string>entity.name.function, support.function, meta.function-call.generic</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <!-- Operators and Punctuation -->
+ <dict>
+ <key>name</key>
+ <string>Operators and Punctuation</string>
+ <key>scope</key>
+ <string>keyword.operator, punctuation, meta.brace, meta.bracket, meta.delimiter</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ </dict>
+ </dict>
+
+ <!-- HTML/XML Tags -->
+ <dict>
+ <key>name</key>
+ <string>Tags</string>
+ <key>scope</key>
+ <string>entity.name.tag, meta.tag</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ </dict>
+ </dict>
+
+ <!-- Errors -->
+ <dict>
+ <key>name</key>
+ <string>Errors</string>
+ <key>scope</key>
+ <string>invalid, invalid.illegal</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ </dict>
+ </dict>
+
+ <!-- Everything else (keywords, variables, types, etc.) -->
+ <dict>
+ <key>name</key>
+ <string>Default Text</string>
+ <key>scope</key>
+ <string>keyword, storage, variable, entity.name.type, support.type, meta.function-call, support.class</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f0f0e0</string>
+ </dict>
+ </dict>
+
+ <!-- Markdown Headings (use semantic colors) -->
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 1</string>
+ <key>scope</key>
+ <string>markup.heading.1, markup.heading.setext.1</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#f5746d</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 2</string>
+ <key>scope</key>
+ <string>markup.heading.2, markup.heading.setext.2</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#b1a600</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Heading 3+</string>
+ <key>scope</key>
+ <string>markup.heading</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Bold</string>
+ <key>scope</key>
+ <string>markup.bold</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>bold</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Italic</string>
+ <key>scope</key>
+ <string>markup.italic</string>
+ <key>settings</key>
+ <dict>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Code</string>
+ <key>scope</key>
+ <string>markup.inline.raw, markup.raw.block</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#46bc69</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Links</string>
+ <key>scope</key>
+ <string>markup.underline.link, string.other.link</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#32a9fe</string>
+ </dict>
+ </dict>
+
+ <dict>
+ <key>name</key>
+ <string>Markdown Quote</string>
+ <key>scope</key>
+ <string>markup.quote</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#636363</string>
+ <key>fontStyle</key>
+ <string>italic</string>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>