nixos-config/home-manager/wezterm.lua
2024-08-21 13:52:36 +02:00

95 lines
1.7 KiB
Lua

local wezterm = require 'wezterm'
local config = wezterm.config_builder()
act = wezterm.action
config.color_scheme = 'Gruvbox dark, hard (base16)'
config.use_fancy_tab_bar = false
config.hide_tab_bar_if_only_one_tab = true
config.window_padding = {
left = 4,
right = 4,
top = 4,
bottom = 4,
}
config.inactive_pane_hsb = {
saturation = 0.9,
brightness = 0.8,
}
config.window_background_opacity = 0.95
config.colors = { tab_bar = { background = 'rgba(29, 32, 33, 95%)' } }
font = wezterm.font_with_fallback {
'SAX2 Nerd Font',
'Fira Code',
'Noto Mono',
}
config.font = font
config.font_rules = {
{
italic = true,
font = font,
}
}
config.adjust_window_size_when_changing_font_size = false
config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 700 }
config.keys = {
{
key = 'a',
mods = 'LEADER|CTRL',
action = act.SendKey { key = 'a', mods = 'CTRL' },
},
{
key = 'c',
mods = 'LEADER',
action = act.SpawnTab "CurrentPaneDomain",
},
{
key = 'n',
mods = 'LEADER',
action = act.ActivateTabRelative(1),
},
{
key = 'p',
mods = 'LEADER',
action = act.ActivateTabRelative(-1),
},
}
for i = 1, 8 do
table.insert(config.keys, {
key = tostring(i),
mods = 'ALT',
action = act.ActivateTab(i - 1),
})
end
for key, dir in pairs({ h = 'Left', j = 'Down', k = 'Up', l = 'Right' }) do
table.insert(config.keys, {
key = key,
mods = 'ALT',
action = act.AdjustPaneSize { dir, 1 },
})
table.insert(config.keys, {
key = key,
mods = 'CTRL',
action = act.ActivatePaneDirection(dir),
})
table.insert(config.keys, {
key = key,
mods = 'LEADER',
action = act.SplitPane { direction = dir },
})
end
return config