Compare commits

..

1 commit

Author SHA1 Message Date
10d8b10c9f
Added WezTerm, updated OMP theme's coffee cup glyph
Not using the Home Manager module to manage WezTerm due to using
Homebrew to install it on macOS.
2026-04-07 16:05:36 -04:00
3 changed files with 23 additions and 125 deletions

View file

@ -28,6 +28,4 @@
local_private_env.path = "${config.home.homeDirectory}/.private-env"; local_private_env.path = "${config.home.homeDirectory}/.private-env";
}; };
}; };
xdg.configFile."wezterm/wezterm.lua".source = ../../shared/files/wezterm/wezterm.lua;
} }

View file

@ -17,7 +17,7 @@ vim.opt.mouse = "a"
vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>") vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>")
vim.wo.number = true vim.wo.relativenumber = true
vim.o.termguicolors = true vim.o.termguicolors = true

View file

@ -1,83 +1,27 @@
local wezterm = require 'wezterm' local wezterm = require 'wezterm'
local config = wezterm.config_builder() local config = wezterm.config_builder()
-- ========================================== -- 1. Cross-Platform Font & Crispness
-- Environment Checks
-- ==========================================
local is_mac = wezterm.target_triple:find('darwin') ~= nil
local is_kde = os.getenv('XDG_CURRENT_DESKTOP') == 'KDE'
-- ==========================================
-- 1. Font & Core UI
-- ==========================================
config.font = wezterm.font('Hack Nerd Font') config.font = wezterm.font('Hack Nerd Font')
config.font_size = 13.0 config.font_size = 13.0
config.window_decorations = "RESIZE" -- Removes the bulky macOS title bar
config.bold_brightens_ansi_colors = false
config.enable_scroll_bar = true
-- ========================================== config.window_decorations = "RESIZE" -- Removes the bulky macOS title bar for a cleaner look
-- 2. Window Appearance (OS Specific)
-- ==========================================
if is_mac then
config.macos_window_background_blur = 10
config.window_background_opacity = 0.87
elseif is_kde then
config.kde_window_background_blur = true
config.window_background_opacity = 0.87
else
-- Non-KDE Linux settings (less opacity to offset lack of blur)
config.window_background_opacity = 0.94
end
-- ========================================== -- 3. Tabs & UI
-- 3. Tabs & Window Frame
-- ==========================================
config.enable_tab_bar = true config.enable_tab_bar = true
config.use_fancy_tab_bar = true config.use_fancy_tab_bar = true -- Gives a nice, spaced-out, native-looking tab bar
config.hide_tab_bar_if_only_one_tab = false config.hide_tab_bar_if_only_one_tab = false
-- Title bar background options (Frames the fancy tab bar) -- 4. The Beanbag-Mathias Theme
-- local titlebar_bg = '#2E4224' -- Rich Moss
-- local titlebar_bg = '#6E5A2A' -- Antique Brass
local titlebar_bg = '#968841' -- Chalky Mustard
config.window_frame = {
active_titlebar_bg = titlebar_bg,
inactive_titlebar_bg = titlebar_bg,
}
config.colors = {
tab_bar = {
-- Note: We intentionally omit the empty space 'background' color here
-- because 'use_fancy_tab_bar = true' handles it via config.window_frame above.
active_tab = {
bg_color = '#C48DFF',
fg_color = '#07042B',
},
inactive_tab = {
bg_color = '#3A2653',
fg_color = '#E3E3EA',
},
inactive_tab_hover = {
bg_color = '#583B7D',
fg_color = '#FFFFFF',
},
},
}
-- ==========================================
-- 4. Color Schemes
-- ==========================================
config.color_schemes = { config.color_schemes = {
['Beanbag-iTerm2'] = { ['Beanbag-iTerm2'] = {
background = '#000000', background = '#000000',
foreground = '#E3E3EA', foreground = '#E3E3EA',
--foreground = '#BBBBBB',
cursor_bg = '#FF7F7F', cursor_bg = '#BBBBBB',
cursor_fg = '#07042B', cursor_fg = '#FFFFFF',
cursor_border = '#FF7F7F', cursor_border = '#BBBBBB',
selection_bg = '#B5D5FF', selection_bg = '#B5D5FF',
selection_fg = '#000000', selection_fg = '#000000',
@ -85,11 +29,11 @@ config.color_schemes = {
ansi = { ansi = {
'#000000', -- black '#000000', -- black
'#BB0000', -- red '#BB0000', -- red
'#55FF55', -- green (Bright Neon Green) '#55FF55', -- green (Swapped to your Bright Neon Green)
'#FFD75F', -- yellow '#BBBB00', -- yellow
'#5EA1FF', -- blue (Sky Blue) '#5EA1FF', -- blue (Your custom Sky Blue)
'#BB00BB', -- magenta '#BB00BB', -- magenta
'#55FFFF', -- cyan (Bright Neon Cyan) '#55FFFF', -- cyan (Swapped to your Bright Neon Cyan)
'#BBBBBB', -- white '#BBBBBB', -- white
}, },
brights = { brights = {
@ -97,16 +41,12 @@ config.color_schemes = {
'#FF5555', -- bright red '#FF5555', -- bright red
'#55FF55', -- bright green '#55FF55', -- bright green
'#FFFF55', -- bright yellow '#FFFF55', -- bright yellow
'#82AAFF', -- bright blue (Pastel Blue) '#82AAFF', -- bright blue (Your custom Pastel Blue)
'#FF55FF', -- bright magenta '#FF55FF', -- bright magenta
'#55FFFF', -- bright cyan '#55FFFF', -- bright cyan
'#FFFFFF', -- bright white '#FFFFFF', -- bright white
}, },
split = '#5EA1FF', -- Sky Blue from ansi color list above
scrollbar_thumb = '#C48DFF'
}, },
['Beanbag-Mathias'] = { ['Beanbag-Mathias'] = {
foreground = '#E3E3EA', foreground = '#E3E3EA',
background = '#07042B', background = '#07042B',
@ -115,8 +55,8 @@ config.color_schemes = {
cursor_fg = '#07042B', cursor_fg = '#07042B',
cursor_border = '#FF7F7F', cursor_border = '#FF7F7F',
selection_bg = '#7DF9FF', selection_fg = '#FFFFFF',
selection_fg = '#07042B', selection_bg = '#000000',
ansi = { ansi = {
'#000000', -- black '#000000', -- black
@ -133,59 +73,19 @@ config.color_schemes = {
'#FF5555', -- bright red '#FF5555', -- bright red
'#55FF55', -- bright green '#55FF55', -- bright green
'#FFFF55', -- bright yellow '#FFFF55', -- bright yellow
'#6CB6FF', -- bright blue (Icy Sky) '#6CB6FF', -- bright blue (The "Icy Sky" contrast fix for ls folders!)
'#FF55FF', -- bright magenta '#FF55FF', -- bright magenta
'#7DF9FF', -- bright cyan (Electric Ice) '#7DF9FF', -- bright cyan (Electric Ice)
'#FFFFFF', -- bright white '#FFFFFF', -- bright white
}, },
split = '#968841', -- Matches the Chalky Mustard title bar
scrollbar_thumb = '#C48DFF'
}, },
} }
-- Default Scheme -- Window Appearance (Transparency & Blur)
config.color_scheme = 'Beanbag-Mathias' config.window_background_opacity = 0.87
config.macos_window_background_blur = 10
-- ========================================== -- config.color_scheme = 'Beanbag-Mathias'
-- 5. Keybindings & Events config.color_scheme = 'Beanbag-iTerm2'
-- ==========================================
wezterm.on('set-scheme-iterm2', function(window)
window:set_config_overrides({ color_scheme = 'Beanbag-iTerm2' })
end)
wezterm.on('set-scheme-mathias', function(window)
window:set_config_overrides({ color_scheme = 'Beanbag-Mathias' })
end)
config.keys = {
{
key = '1',
mods = 'CTRL|ALT',
action = wezterm.action.EmitEvent('set-scheme-iterm2'),
},
{
key = '2',
mods = 'CTRL|ALT',
action = wezterm.action.EmitEvent('set-scheme-mathias'),
},
-- ==========================================
-- iTerm2 Pane Splitting
-- ==========================================
{
-- Cmd+d to split to the right
key = 'd',
mods = 'CMD',
action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
},
{
-- Cmd+Shift+d to split below
key = 'd', -- Note: use lowercase 'd' here, WezTerm reads the SHIFT modifier
mods = 'CMD|SHIFT',
action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
},
}
return config return config