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";
};
};
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.wo.number = true
vim.wo.relativenumber = true
vim.o.termguicolors = true

View file

@ -1,83 +1,27 @@
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
-- ==========================================
-- Environment Checks
-- ==========================================
local is_mac = wezterm.target_triple:find('darwin') ~= nil
local is_kde = os.getenv('XDG_CURRENT_DESKTOP') == 'KDE'
-- ==========================================
-- 1. Font & Core UI
-- ==========================================
-- 1. Cross-Platform Font & Crispness
config.font = wezterm.font('Hack Nerd Font')
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
-- ==========================================
-- 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
config.window_decorations = "RESIZE" -- Removes the bulky macOS title bar for a cleaner look
-- ==========================================
-- 3. Tabs & Window Frame
-- ==========================================
-- 3. Tabs & UI
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
-- Title bar background options (Frames the fancy tab bar)
-- 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
-- ==========================================
-- 4. The Beanbag-Mathias Theme
config.color_schemes = {
['Beanbag-iTerm2'] = {
background = '#000000',
foreground = '#E3E3EA',
--foreground = '#BBBBBB',
cursor_bg = '#FF7F7F',
cursor_fg = '#07042B',
cursor_border = '#FF7F7F',
cursor_bg = '#BBBBBB',
cursor_fg = '#FFFFFF',
cursor_border = '#BBBBBB',
selection_bg = '#B5D5FF',
selection_fg = '#000000',
@ -85,11 +29,11 @@ config.color_schemes = {
ansi = {
'#000000', -- black
'#BB0000', -- red
'#55FF55', -- green (Bright Neon Green)
'#FFD75F', -- yellow
'#5EA1FF', -- blue (Sky Blue)
'#55FF55', -- green (Swapped to your Bright Neon Green)
'#BBBB00', -- yellow
'#5EA1FF', -- blue (Your custom Sky Blue)
'#BB00BB', -- magenta
'#55FFFF', -- cyan (Bright Neon Cyan)
'#55FFFF', -- cyan (Swapped to your Bright Neon Cyan)
'#BBBBBB', -- white
},
brights = {
@ -97,16 +41,12 @@ config.color_schemes = {
'#FF5555', -- bright red
'#55FF55', -- bright green
'#FFFF55', -- bright yellow
'#82AAFF', -- bright blue (Pastel Blue)
'#82AAFF', -- bright blue (Your custom Pastel Blue)
'#FF55FF', -- bright magenta
'#55FFFF', -- bright cyan
'#FFFFFF', -- bright white
},
split = '#5EA1FF', -- Sky Blue from ansi color list above
scrollbar_thumb = '#C48DFF'
},
['Beanbag-Mathias'] = {
foreground = '#E3E3EA',
background = '#07042B',
@ -115,8 +55,8 @@ config.color_schemes = {
cursor_fg = '#07042B',
cursor_border = '#FF7F7F',
selection_bg = '#7DF9FF',
selection_fg = '#07042B',
selection_fg = '#FFFFFF',
selection_bg = '#000000',
ansi = {
'#000000', -- black
@ -133,59 +73,19 @@ config.color_schemes = {
'#FF5555', -- bright red
'#55FF55', -- bright green
'#FFFF55', -- bright yellow
'#6CB6FF', -- bright blue (Icy Sky)
'#6CB6FF', -- bright blue (The "Icy Sky" contrast fix for ls folders!)
'#FF55FF', -- bright magenta
'#7DF9FF', -- bright cyan (Electric Ice)
'#FFFFFF', -- bright white
},
split = '#968841', -- Matches the Chalky Mustard title bar
scrollbar_thumb = '#C48DFF'
},
}
-- Default Scheme
config.color_scheme = 'Beanbag-Mathias'
-- Window Appearance (Transparency & Blur)
config.window_background_opacity = 0.87
config.macos_window_background_blur = 10
-- ==========================================
-- 5. Keybindings & Events
-- ==========================================
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' },
},
}
-- config.color_scheme = 'Beanbag-Mathias'
config.color_scheme = 'Beanbag-iTerm2'
return config