diff --git a/users/desktops/common/programs/wezterm.nix b/users/desktops/common/programs/wezterm.nix index b5b936b..12fda5c 100644 --- a/users/desktops/common/programs/wezterm.nix +++ b/users/desktops/common/programs/wezterm.nix @@ -1,87 +1,70 @@ { config, pkgs, lib, ... }: -let - tabbar-background = config.lib.stylix.colors.withHashtag.base01; - active-tab-background = config.lib.stylix.colors.withHashtag.base00; - foreground = config.lib.stylix.colors.withHashtag.base05; -in { +{ programs.wezterm = { enable = true; extraConfig = '' - local act = wezterm.action - local function get_initial_cols_by_hostname() - local hostname = wezterm.hostname() - if hostname == "rotterdam" then - return 116 - elseif hostname == "io" then - return 93 - else - return 110 - end - end - return { - disable_default_key_bindings = true, - window_padding = { - left = 0, - right = 0, - bottom = 0, - top = 0, - }, - colors = { - tab_bar = { - background = '${tabbar-background}', - active_tab = { bg_color = '${active-tab-background}', fg_color = '${foreground}', }, - inactive_tab = { bg_color = '${tabbar-background}', fg_color = '${foreground}', }, - inactive_tab_edge = '${tabbar-background}', - new_tab = { bg_color = '${tabbar-background}', fg_color = '${foreground}', }, - new_tab_hover = { bg_color = '${foreground}', fg_color = '${tabbar-background}', }, - }, - }, - window_frame = { - active_titlebar_bg = '${tabbar-background}', - inactive_titlebar_bg = '${tabbar-background}', - }, - use_fancy_tab_bar = true, - initial_cols = get_initial_cols_by_hostname(), - initial_rows = 32, - inactive_pane_hsb = { - saturation = 0.7, - brightness = 0.5 - }, - hide_tab_bar_if_only_one_tab = false, - show_new_tab_button_in_tab_bar = true, - front_end = "WebGpu", - keys = { - { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, - { key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, - { key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, - { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, - { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, - { key = '0', mods = 'CTRL', action = act.ResetFontSize }, - { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, - { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, - { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, - { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, - { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, - { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, - { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, - { key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, - { key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, - { key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, - { key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, - { key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette }, - }, - } + local act = wezterm.action + local function get_initial_cols_by_hostname() + local hostname = wezterm.hostname() + if hostname == "rotterdam" then + return 111 + elseif hostname == "io" then + return 93 + else + return 100 + end + end + return { + disable_default_key_bindings = true, + window_padding = { + left = "2pt", + right = "2pt", + bottom = 0, + top = 0, + }, + use_fancy_tab_bar = true, + command_palette_font_size = 12, + initial_cols = get_initial_cols_by_hostname(), + initial_rows = 32, + inactive_pane_hsb = { + saturation = 0.7, + brightness = 0.5 + }, + hide_tab_bar_if_only_one_tab = false, + show_new_tab_button_in_tab_bar = true, + front_end = "WebGpu", + keys = { + { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, + { key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, + { key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, + { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, + { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, + { key = '0', mods = 'CTRL', action = act.ResetFontSize }, + { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, + { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, + { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, + { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, + { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, + { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, + { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, + { key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, + { key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, + { key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, + { key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, + { key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette }, + }, + } ''; }; }