Compare commits

..

3 commits

Author SHA1 Message Date
d65a11ef8f
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.

Large parts of this came from Gemini but little bits here and there also
came from ChatGPT and Claude (aka whatever I could use at the moment).

Co-authored-by: Gemini <gemini@google.com>
Co-authored-by: ChatGPT <chatgpt@openai.com>
Co-authored-by: Claude <claude@anthropic.com>
2026-04-08 15:04:58 -04:00
9bd4265094
Merge pull request #625 from genebean/nvim-numbers
Use regular abosulte numbers instead of relative ones
2026-04-08 14:08:41 -04:00
0f5d7c6b64
Use regular abosulte numbers instead of relative ones 2026-04-08 14:06:07 -04:00
3 changed files with 125 additions and 23 deletions

View file

@ -28,4 +28,6 @@
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.relativenumber = true vim.wo.number = true
vim.o.termguicolors = true vim.o.termguicolors = true

View file

@ -1,27 +1,83 @@
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 -- Gives a nice, spaced-out, native-looking tab bar config.use_fancy_tab_bar = true
config.hide_tab_bar_if_only_one_tab = false config.hide_tab_bar_if_only_one_tab = false
-- 4. The Beanbag-Mathias Theme -- 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
-- ==========================================
config.color_schemes = { config.color_schemes = {
['Beanbag-iTerm2'] = { ['Beanbag-iTerm2'] = {
background = '#000000', background = '#000000',
foreground = '#E3E3EA', foreground = '#E3E3EA',
--foreground = '#BBBBBB',
cursor_bg = '#BBBBBB', cursor_bg = '#FF7F7F',
cursor_fg = '#FFFFFF', cursor_fg = '#07042B',
cursor_border = '#BBBBBB', cursor_border = '#FF7F7F',
selection_bg = '#B5D5FF', selection_bg = '#B5D5FF',
selection_fg = '#000000', selection_fg = '#000000',
@ -29,11 +85,11 @@ config.color_schemes = {
ansi = { ansi = {
'#000000', -- black '#000000', -- black
'#BB0000', -- red '#BB0000', -- red
'#55FF55', -- green (Swapped to your Bright Neon Green) '#55FF55', -- green (Bright Neon Green)
'#BBBB00', -- yellow '#FFD75F', -- yellow
'#5EA1FF', -- blue (Your custom Sky Blue) '#5EA1FF', -- blue (Sky Blue)
'#BB00BB', -- magenta '#BB00BB', -- magenta
'#55FFFF', -- cyan (Swapped to your Bright Neon Cyan) '#55FFFF', -- cyan (Bright Neon Cyan)
'#BBBBBB', -- white '#BBBBBB', -- white
}, },
brights = { brights = {
@ -41,12 +97,16 @@ config.color_schemes = {
'#FF5555', -- bright red '#FF5555', -- bright red
'#55FF55', -- bright green '#55FF55', -- bright green
'#FFFF55', -- bright yellow '#FFFF55', -- bright yellow
'#82AAFF', -- bright blue (Your custom Pastel Blue) '#82AAFF', -- bright blue (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',
@ -55,8 +115,8 @@ config.color_schemes = {
cursor_fg = '#07042B', cursor_fg = '#07042B',
cursor_border = '#FF7F7F', cursor_border = '#FF7F7F',
selection_fg = '#FFFFFF', selection_bg = '#7DF9FF',
selection_bg = '#000000', selection_fg = '#07042B',
ansi = { ansi = {
'#000000', -- black '#000000', -- black
@ -73,19 +133,59 @@ config.color_schemes = {
'#FF5555', -- bright red '#FF5555', -- bright red
'#55FF55', -- bright green '#55FF55', -- bright green
'#FFFF55', -- bright yellow '#FFFF55', -- bright yellow
'#6CB6FF', -- bright blue (The "Icy Sky" contrast fix for ls folders!) '#6CB6FF', -- bright blue (Icy Sky)
'#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'
}, },
} }
-- Window Appearance (Transparency & Blur) -- Default Scheme
config.window_background_opacity = 0.87 config.color_scheme = 'Beanbag-Mathias'
config.macos_window_background_blur = 10
-- config.color_scheme = 'Beanbag-Mathias' -- ==========================================
config.color_scheme = 'Beanbag-iTerm2' -- 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' },
},
}
return config return config