From 0f5d7c6b64c302ef594182a97c20a8e2002d8746 Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Wed, 8 Apr 2026 14:06:07 -0400 Subject: [PATCH 1/2] Use regular abosulte numbers instead of relative ones --- modules/shared/files/nvim/lua/config/vim-options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/shared/files/nvim/lua/config/vim-options.lua b/modules/shared/files/nvim/lua/config/vim-options.lua index f004b05..eeff266 100644 --- a/modules/shared/files/nvim/lua/config/vim-options.lua +++ b/modules/shared/files/nvim/lua/config/vim-options.lua @@ -17,7 +17,7 @@ vim.opt.mouse = "a" vim.keymap.set("n", "h", ":nohlsearch") -vim.wo.relativenumber = true +vim.wo.number = true vim.o.termguicolors = true From d65a11ef8fba6ba5971b273d54d3127adc240664 Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Tue, 7 Apr 2026 15:48:34 -0400 Subject: [PATCH 2/2] 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 Co-authored-by: ChatGPT Co-authored-by: Claude --- flake.lock | 6 +- modules/hosts/darwin/default.nix | 1 + modules/hosts/home-manager-only/default.nix | 2 + modules/shared/files/wezterm/wezterm.lua | 191 ++++++++++++++++++++ modules/shared/home/general/all-gui.nix | 3 + 5 files changed, 200 insertions(+), 3 deletions(-) create mode 100644 modules/shared/files/wezterm/wezterm.lua diff --git a/flake.lock b/flake.lock index 6b1a6d3..ffca018 100644 --- a/flake.lock +++ b/flake.lock @@ -261,11 +261,11 @@ "genebean-omp-themes": { "flake": false, "locked": { - "lastModified": 1736539337, - "narHash": "sha256-TBq4+E6n3t3a85FyP/4sLYFf+644rkMZ+Cn+xAj9f0k=", + "lastModified": 1775590646, + "narHash": "sha256-0kr+6Kgb6W6aRYXewqna+Qpq7PF7g5wq7rwEy6k+i2E=", "owner": "genebean", "repo": "my-oh-my-posh-themes", - "rev": "89fedccc7177301c0d5660af0f809d01a25ebf4e", + "rev": "f93d5921f624ac9a3416807a43c13918f945d5d2", "type": "github" }, "original": { diff --git a/modules/hosts/darwin/default.nix b/modules/hosts/darwin/default.nix index f2b2b72..1c182bd 100644 --- a/modules/hosts/darwin/default.nix +++ b/modules/hosts/darwin/default.nix @@ -91,6 +91,7 @@ "transmission" "visual-studio-code" "vivaldi" + "wezterm" "zoom" ]; masApps = { diff --git a/modules/hosts/home-manager-only/default.nix b/modules/hosts/home-manager-only/default.nix index d4932be..484f1e8 100644 --- a/modules/hosts/home-manager-only/default.nix +++ b/modules/hosts/home-manager-only/default.nix @@ -28,4 +28,6 @@ local_private_env.path = "${config.home.homeDirectory}/.private-env"; }; }; + + xdg.configFile."wezterm/wezterm.lua".source = ../../shared/files/wezterm/wezterm.lua; } diff --git a/modules/shared/files/wezterm/wezterm.lua b/modules/shared/files/wezterm/wezterm.lua new file mode 100644 index 0000000..bbfd26d --- /dev/null +++ b/modules/shared/files/wezterm/wezterm.lua @@ -0,0 +1,191 @@ +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 +-- ========================================== +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 + +-- ========================================== +-- 3. Tabs & Window Frame +-- ========================================== +config.enable_tab_bar = true +config.use_fancy_tab_bar = true +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 +-- ========================================== +config.color_schemes = { + ['Beanbag-iTerm2'] = { + background = '#000000', + foreground = '#E3E3EA', + + cursor_bg = '#FF7F7F', + cursor_fg = '#07042B', + cursor_border = '#FF7F7F', + + selection_bg = '#B5D5FF', + selection_fg = '#000000', + + ansi = { + '#000000', -- black + '#BB0000', -- red + '#55FF55', -- green (Bright Neon Green) + '#FFD75F', -- yellow + '#5EA1FF', -- blue (Sky Blue) + '#BB00BB', -- magenta + '#55FFFF', -- cyan (Bright Neon Cyan) + '#BBBBBB', -- white + }, + brights = { + '#555555', -- bright black + '#FF5555', -- bright red + '#55FF55', -- bright green + '#FFFF55', -- bright yellow + '#82AAFF', -- bright blue (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', + + cursor_bg = '#FF7F7F', + cursor_fg = '#07042B', + cursor_border = '#FF7F7F', + + selection_bg = '#7DF9FF', + selection_fg = '#07042B', + + ansi = { + '#000000', -- black + '#E52222', -- red + '#55FF55', -- green + '#FC951E', -- yellow + '#C48DFF', -- blue + '#FA2573', -- magenta + '#7DF9FF', -- cyan (Electric Ice) + '#F2F2F2', -- white + }, + brights = { + '#555555', -- bright black + '#FF5555', -- bright red + '#55FF55', -- bright green + '#FFFF55', -- bright yellow + '#6CB6FF', -- bright blue (Icy Sky) + '#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' + +-- ========================================== +-- 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 + diff --git a/modules/shared/home/general/all-gui.nix b/modules/shared/home/general/all-gui.nix index fe6406c..c615442 100644 --- a/modules/shared/home/general/all-gui.nix +++ b/modules/shared/home/general/all-gui.nix @@ -3,9 +3,12 @@ home.packages = with pkgs; [ esptool ]; + programs = { git.settings.aliases = { kraken = "!gitkraken -p $(cd \"\${1:-.}\" && git rev-parse --show-toplevel)"; }; }; + + xdg.configFile."wezterm/wezterm.lua".source = ../../files/wezterm/wezterm.lua; }