feat: configuración de WezTerm con temas visuales y skill de personalización

This commit is contained in:
2026-08-17 22:58:27 -03:00
commit 1280a0fdf6
12 changed files with 834 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
local colors = {
foreground = '#d0e8ff',
background = '#0d0221',
cursor_bg = '#05d9e8',
cursor_fg = '#0d0221',
cursor_border = '#05d9e8',
selection_bg = '#3d1256',
selection_fg = '#ffffff',
compose_cursor = '#05d9e8',
ansi = {
'#0d0221',
'#ff2a6d',
'#05d9e8',
'#f2f230',
'#00b3ff',
'#b967ff',
'#01c4e7',
'#d0e8ff',
},
brights = {
'#3d1256',
'#ff5c8a',
'#6ffff0',
'#ffff6a',
'#5cc9ff',
'#d08cff',
'#7ce9ff',
'#ffffff',
},
tab_bar = {
background = '#16052e',
active_tab = { bg_color = '#ff2a6d', fg_color = '#ffffff', intensity = 'Bold' },
inactive_tab = { bg_color = '#16052e', fg_color = '#05d9e8' },
inactive_tab_hover = { bg_color = '#3d1256', fg_color = '#ff5c8a' },
new_tab = { bg_color = '#16052e', fg_color = '#05d9e8' },
new_tab_hover = { bg_color = '#3d1256', fg_color = '#b967ff' },
},
}
return {
name = 'cyberpunk',
label = 'CYBERPUNK',
colors = colors,
window_background_opacity = 0.97,
window_background_gradient = { colors = { '#0d0221', '#1a0533' }, orientation = 'Vertical' },
cursor_blink_rate = 500,
}
+46
View File
@@ -0,0 +1,46 @@
local colors = {
foreground = '#f8f8f2',
background = '#282a36',
cursor_bg = '#f8f8f2',
cursor_fg = '#282a36',
cursor_border = '#f8f8f2',
selection_bg = '#44475a',
selection_fg = '#f8f8f2',
compose_cursor = '#f8f8f2',
ansi = {
'#21222c',
'#ff5555',
'#50fa7b',
'#f1fa8c',
'#bd93f9',
'#ff79c6',
'#8be9fd',
'#f8f8f2',
},
brights = {
'#6272a4',
'#ff6e6e',
'#69ff94',
'#ffffa5',
'#d6acff',
'#ff92df',
'#a4ffff',
'#ffffff',
},
tab_bar = {
background = '#21222c',
active_tab = { bg_color = '#bd93f9', fg_color = '#282a36', intensity = 'Bold' },
inactive_tab = { bg_color = '#21222c', fg_color = '#f8f8f2' },
inactive_tab_hover = { bg_color = '#44475a', fg_color = '#f8f8f2' },
new_tab = { bg_color = '#21222c', fg_color = '#50fa7b' },
new_tab_hover = { bg_color = '#44475a', fg_color = '#f8f8f2' },
},
}
return {
name = 'dracula',
label = 'DRACULA',
colors = colors,
window_background_opacity = 1.0,
cursor_blink_rate = 500,
}
+47
View File
@@ -0,0 +1,47 @@
local colors = {
foreground = '#00ff41',
background = '#000000',
cursor_bg = '#00ff41',
cursor_fg = '#000000',
cursor_border = '#00ff41',
selection_bg = '#003b1f',
selection_fg = '#c8ffe0',
compose_cursor = '#00ff41',
ansi = {
'#0a1f0a',
'#ff4d4d',
'#00ff41',
'#c8e65c',
'#40c9ff',
'#c792ea',
'#00e0a0',
'#a8ffb0',
},
brights = {
'#1a3b1a',
'#ff8080',
'#66ff8a',
'#e0ff70',
'#80ddff',
'#d4a0ff',
'#66ffc0',
'#d8ffdd',
},
tab_bar = {
background = '#001400',
active_tab = { bg_color = '#00ff41', fg_color = '#000000', intensity = 'Bold' },
inactive_tab = { bg_color = '#001400', fg_color = '#00ff41' },
inactive_tab_hover = { bg_color = '#003b1f', fg_color = '#00ff41' },
new_tab = { bg_color = '#001400', fg_color = '#00ff41' },
new_tab_hover = { bg_color = '#003b1f', fg_color = '#00ff41' },
},
}
return {
name = 'matrix',
label = 'MATRIX',
colors = colors,
window_background_opacity = 0.97,
window_background_gradient = { colors = { '#000000', '#001a00' }, orientation = 'Vertical' },
cursor_blink_rate = 500,
}
+46
View File
@@ -0,0 +1,46 @@
local colors = {
foreground = '#d8dee9',
background = '#2e3440',
cursor_bg = '#d8dee9',
cursor_fg = '#2e3440',
cursor_border = '#d8dee9',
selection_bg = '#4c566a',
selection_fg = '#eceff4',
compose_cursor = '#d8dee9',
ansi = {
'#3b4252',
'#bf616a',
'#a3be8c',
'#ebcb8b',
'#81a1c1',
'#b48ead',
'#88c0d0',
'#e5e9f0',
},
brights = {
'#4c566a',
'#bf616a',
'#a3be8c',
'#ebcb8b',
'#81a1c1',
'#b48ead',
'#8fbcbb',
'#eceff4',
},
tab_bar = {
background = '#2e3440',
active_tab = { bg_color = '#81a1c1', fg_color = '#2e3440', intensity = 'Bold' },
inactive_tab = { bg_color = '#3b4252', fg_color = '#d8dee9' },
inactive_tab_hover = { bg_color = '#434c5e', fg_color = '#eceff4' },
new_tab = { bg_color = '#3b4252', fg_color = '#88c0d0' },
new_tab_hover = { bg_color = '#434c5e', fg_color = '#eceff4' },
},
}
return {
name = 'nord',
label = 'NORD',
colors = colors,
window_background_opacity = 1.0,
cursor_blink_rate = 500,
}
+47
View File
@@ -0,0 +1,47 @@
local colors = {
foreground = '#ffb000',
background = '#1a0f00',
cursor_bg = '#ffb000',
cursor_fg = '#1a0f00',
cursor_border = '#ffb000',
selection_bg = '#4a2c00',
selection_fg = '#ffe8c0',
compose_cursor = '#ffb000',
ansi = {
'#1a0f00',
'#ff4a00',
'#ffb000',
'#ffd080',
'#ff8c00',
'#ff6600',
'#ffcc66',
'#ffd9a0',
},
brights = {
'#3d2a00',
'#ff6a00',
'#ffc040',
'#ffe0a0',
'#ffaa40',
'#ff8040',
'#ffd080',
'#ffe8c0',
},
tab_bar = {
background = '#241500',
active_tab = { bg_color = '#ffb000', fg_color = '#1a0f00', intensity = 'Bold' },
inactive_tab = { bg_color = '#241500', fg_color = '#ffb000' },
inactive_tab_hover = { bg_color = '#4a2c00', fg_color = '#ffb000' },
new_tab = { bg_color = '#241500', fg_color = '#ffb000' },
new_tab_hover = { bg_color = '#4a2c00', fg_color = '#ffb000' },
},
}
return {
name = 'phosphor-amber',
label = 'PHOSPHOR-AMBER',
colors = colors,
window_background_opacity = 0.97,
window_background_gradient = { colors = { '#1a0f00', '#2a1a00' }, orientation = 'Vertical' },
cursor_blink_rate = 600,
}
+47
View File
@@ -0,0 +1,47 @@
local colors = {
foreground = '#33ff33',
background = '#001a00',
cursor_bg = '#33ff33',
cursor_fg = '#001a00',
cursor_border = '#33ff33',
selection_bg = '#003d00',
selection_fg = '#ccffcc',
compose_cursor = '#33ff33',
ansi = {
'#003300',
'#00cc44',
'#33ff33',
'#99ff33',
'#00ccff',
'#66ffcc',
'#00ff88',
'#ccffcc',
},
brights = {
'#006600',
'#33ff66',
'#66ff66',
'#ccff66',
'#66ffff',
'#99ffee',
'#66ffcc',
'#ffffff',
},
tab_bar = {
background = '#002000',
active_tab = { bg_color = '#33ff33', fg_color = '#001a00', intensity = 'Bold' },
inactive_tab = { bg_color = '#002000', fg_color = '#33ff33' },
inactive_tab_hover = { bg_color = '#003d00', fg_color = '#33ff33' },
new_tab = { bg_color = '#002000', fg_color = '#33ff33' },
new_tab_hover = { bg_color = '#003d00', fg_color = '#33ff33' },
},
}
return {
name = 'phosphor-green',
label = 'PHOSPHOR-GREEN',
colors = colors,
window_background_opacity = 0.97,
window_background_gradient = { colors = { '#001a00', '#002000' }, orientation = 'Vertical' },
cursor_blink_rate = 600,
}
+71
View File
@@ -0,0 +1,71 @@
local wezterm = require 'wezterm'
local themes_dir = wezterm.config_dir .. '/themes'
local state_file = wezterm.config_dir .. '/.current-theme'
local theme_files = {
'matrix',
'phosphor-green',
'phosphor-amber',
'cyberpunk',
'nord',
'tokyonight',
'dracula',
}
local themes = {}
local order = {}
for _, name in ipairs(theme_files) do
local ok, theme = pcall(dofile, themes_dir .. '/' .. name .. '.lua')
if ok and theme and theme.name then
themes[name] = theme
order[#order + 1] = name
else
wezterm.log_error('wezterm-themes: error loading theme "' .. name .. '": ' .. tostring(theme))
end
end
local M = {}
function M.names()
return order
end
function M.get(name)
return themes[name] or themes[order[1]]
end
function M.current()
local f = io.open(state_file, 'r')
local name = f and f:read('*l')
if f then
f:close()
end
if name and themes[name] then
return themes[name]
end
return themes[order[1]]
end
function M.next(name)
local cur = name or M.current().name
local idx = 0
for i, n in ipairs(order) do
if n == cur then
idx = i
break
end
end
return themes[order[(idx % #order) + 1]]
end
function M.save(theme)
local f = io.open(state_file, 'w')
if f then
f:write(theme.name .. '\n')
f:close()
end
end
return M
+46
View File
@@ -0,0 +1,46 @@
local colors = {
foreground = '#c0caf5',
background = '#1a1b26',
cursor_bg = '#c0caf5',
cursor_fg = '#1a1b26',
cursor_border = '#c0caf5',
selection_bg = '#33467c',
selection_fg = '#c0caf5',
compose_cursor = '#c0caf5',
ansi = {
'#15161e',
'#f7768e',
'#9ece6a',
'#e0af68',
'#7aa2f7',
'#bb9af7',
'#7dcfff',
'#a9b1d6',
},
brights = {
'#414868',
'#f7768e',
'#9ece6a',
'#e0af68',
'#7aa2f7',
'#bb9af7',
'#7dcfff',
'#c0caf5',
},
tab_bar = {
background = '#16161e',
active_tab = { bg_color = '#7aa2f7', fg_color = '#16161e', intensity = 'Bold' },
inactive_tab = { bg_color = '#16161e', fg_color = '#a9b1d6' },
inactive_tab_hover = { bg_color = '#1f2335', fg_color = '#c0caf5' },
new_tab = { bg_color = '#16161e', fg_color = '#7aa2f7' },
new_tab_hover = { bg_color = '#1f2335', fg_color = '#7dcfff' },
},
}
return {
name = 'tokyonight',
label = 'TOKYO-NIGHT',
colors = colors,
window_background_opacity = 1.0,
cursor_blink_rate = 500,
}