Created
December 28, 2025 12:03
-
-
Save ajaxray/bd7191337891d6034e7e501eab7c7570 to your computer and use it in GitHub Desktop.
My Wezterm config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local wezterm = require 'wezterm' | |
| local ai_helper = wezterm.plugin.require 'https://github.com/Michal1993r/ai-helper.wezterm' | |
| local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm") | |
| local config = wezterm.config_builder() | |
| config.color_scheme = 'Tokyo Night (Gogh)' | |
| config.font = wezterm.font_with_fallback({ 'MesloLGS Nerd Font Mono', 'JetBrains Mono', 'Fira Mono', 'monospace' }) | |
| config.font_size = 16.0 | |
| config.line_height = 1.1 | |
| config.cell_width = 1.0 | |
| config.use_fancy_tab_bar = true | |
| config.hide_tab_bar_if_only_one_tab = false | |
| config.window_decorations = 'RESIZE' | |
| config.native_macos_fullscreen_mode = true | |
| config.window_padding = { left = 4, right = 4, top = 2, bottom = 4 } | |
| -- config.colors = { | |
| -- foreground = '#CBE0F0', | |
| -- background = '#011423', | |
| -- cursor_bg = '#47FF9C', | |
| -- cursor_border = '#47FF9C', | |
| -- cursor_fg = '#011423', | |
| -- selection_bg = '#033259', | |
| -- selection_fg = '#CBE0F0', | |
| -- ansi = { '#214969', '#E52E2E', '#44FFB1', '#FFE073', '#0FC5ED', '#a277ff', '#24EAF7', '#24EAF7' }, | |
| -- brights = { '#214969', '#E52E2E', '#44FFB1', '#FFE073', '#A277FF', '#a277ff', '#24EAF7', '#24EAF7' }, | |
| -- } | |
| config.window_background_opacity = 0.95 | |
| config.macos_window_background_blur = 10 | |
| -- config.window_background_image = '/path/to/wallpaper.jpg' | |
| -- Cycling Color themes | |
| local schemes = { "Tokyo Night", "zenbones", "Selenized Light (Gogh)", "Solarized Dark (Gogh)" } | |
| local scheme_index = 1 | |
| wezterm.on('cycle-theme', function(window, pane) | |
| scheme_index = (scheme_index % #schemes) + 1 | |
| window:set_config_overrides({ color_scheme = schemes[scheme_index] }) | |
| end) | |
| config.leader = { key = ',', mods = 'CMD', timeout_milliseconds = 1000 } | |
| -- Sensible keybindings (ctrl+shift+t for new tab, splits like tmux/ghostty) | |
| config.keys = { | |
| { key = 'w', mods = 'CTRL|SHIFT', action = wezterm.action.CloseCurrentTab { confirm = true } }, | |
| { key = 'i', mods = 'CTRL|SHIFT', action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } }, | |
| { key = 'e', mods = 'CTRL|SHIFT', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } }, | |
| { key = "S", mods = "CTRL|SHIFT", action = wezterm.action.QuickSelect }, | |
| { key = "t", mods = "LEADER", action = wezterm.action.EmitEvent 'cycle-theme' }, | |
| { key = 'LeftArrow', mods = 'CTRL|SHIFT', action = wezterm.action.ActivatePaneDirection('Left') }, | |
| { key = 'RightArrow', mods = 'CTRL|SHIFT', action = wezterm.action.ActivatePaneDirection('Right') }, | |
| { key = 'UpArrow', mods = 'CTRL|SHIFT', action = wezterm.action.ActivatePaneDirection('Up') }, | |
| { key = 'DownArrow', mods = 'CTRL|SHIFT', action = wezterm.action.ActivatePaneDirection('Down') }, | |
| } | |
| config.enable_tab_bar = true | |
| config.enable_scroll_bar = false | |
| config.adjust_window_size_when_changing_font_size = false | |
| config.initial_cols = 100 | |
| config.initial_rows = 30 | |
| config.scrollback_lines = 5000 | |
| config.window_frame = { | |
| active_titlebar_bg = '#282828', | |
| font = wezterm.font({ family = 'JetBrains Mono', weight = 'Bold' }), | |
| font_size = 14.0, | |
| } | |
| ai_helper.apply_to_config(config, { | |
| type = 'ollama', | |
| ollama_path = '/usr/local/bin/ollama', -- replace with output of: which ollama | |
| model = 'llama3.2:3b', -- take the name from: ollama list | |
| }) | |
| -- WORKSPACE MANAGEMENT -- | |
| -- print the workspace name at the upper right | |
| wezterm.on("update-right-status", function(window, pane) | |
| window:set_right_status(window:active_workspace()) | |
| end) | |
| -- load plugin | |
| workspace_switcher.zoxide_path = "/opt/homebrew/bin/zoxide" | |
| -- keymaps | |
| table.insert(config.keys, { key = "w", mods = "LEADER", action = workspace_switcher.switch_workspace() }) | |
| -- table.insert(config.keys, { key = "r", mods = "CTRL|SHIFT", action = act.ShowLauncherArgs({ flags = "FUZZY|WORKSPACES" }) }) | |
| -- table.insert(config.keys, { key = "[", mods = "CTRL|SHIFT", action = act.SwitchWorkspaceRelative(1) }) | |
| -- table.insert(config.keys, { key = "]", mods = "CTRL|SHIFT", action = act.SwitchWorkspaceRelative(-1) }) | |
| return config |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment