nix-config/programs/wezterm/wezterm.lua
2024-09-07 11:11:09 -07:00

72 lines
3.6 KiB
Lua

local wezterm = require 'wezterm'
local act = wezterm.action
wezterm.on('update-right-status', function(window, pane)
window:set_right_status(window:active_workspace())
end)
return {
adjust_window_size_when_changing_font_size = false,
check_for_updates = false,
-- color_scheme = "Gruvbox Light";
color_scheme = 'tokyonight',
font = wezterm.font 'SF Mono',
font_size = 16,
dpi = 144,
scrollback_lines = 50000,
initial_cols = 400,
initial_rows = 80,
leader = { key = 'b', mods = 'SUPER', timeout_milliseconds = 1000 },
default_prog = { '/etc/profiles/per-user/salar/bin/fish' },
ssh_domains = {
{
name = 'hcloud1',
remote_address = 'hcloud1.softinio.net',
username = 'salar',
remote_wezterm_path = '/run/current-system/sw/bin/wezterm',
},
},
keys = {
{ key = '-', mods = 'LEADER', action = wezterm.action { SplitVertical = { domain = 'CurrentPaneDomain' } } },
{ key = "'", mods = 'LEADER', action = wezterm.action { SplitHorizontal = { domain = 'CurrentPaneDomain' } } },
{ key = 'k', mods = 'SUPER', action = act.TogglePaneZoomState },
{ key = 'c', mods = 'LEADER', action = wezterm.action { SpawnTab = 'CurrentPaneDomain' } },
{ key = 'h', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Left' } },
{ key = 'j', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Down' } },
{ key = 'k', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Up' } },
{ key = 'l', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Right' } },
{ key = 'H', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Left', 5 } } },
{ key = 'J', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Down', 5 } } },
{ key = 'K', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Up', 5 } } },
{ key = 'L', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Right', 5 } } },
{ key = '1', mods = 'LEADER', action = wezterm.action { ActivateTab = 0 } },
{ key = '2', mods = 'LEADER', action = wezterm.action { ActivateTab = 1 } },
{ key = '3', mods = 'LEADER', action = wezterm.action { ActivateTab = 2 } },
{ key = '4', mods = 'LEADER', action = wezterm.action { ActivateTab = 3 } },
{ key = '5', mods = 'LEADER', action = wezterm.action { ActivateTab = 4 } },
{ key = '6', mods = 'LEADER', action = wezterm.action { ActivateTab = 5 } },
{ key = '7', mods = 'LEADER', action = wezterm.action { ActivateTab = 6 } },
{ key = '8', mods = 'LEADER', action = wezterm.action { ActivateTab = 7 } },
{ key = '9', mods = 'LEADER', action = wezterm.action { ActivateTab = 8 } },
{ key = '&', mods = 'LEADER', action = wezterm.action { CloseCurrentTab = { confirm = true } } },
{ key = 'x', mods = 'LEADER', action = wezterm.action { CloseCurrentPane = { confirm = true } } },
{ key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
{ key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' },
{ key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' },
{ key = 'n', mods = 'SUPER', action = act.SpawnWindow },
{ key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'q', mods = 'SUPER', action = act.QuitApplication },
{ key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace },
{
key = '9',
mods = 'ALT',
action = act.ShowLauncherArgs {
flags = 'FUZZY|WORKSPACES',
},
},
{ key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment },
},
-- temp fix
front_end = 'WebGpu',
}