108 lines
2.6 KiB
Nix
108 lines
2.6 KiB
Nix
|
{...}: {
|
||
|
programs.wezterm = {
|
||
|
enable = true;
|
||
|
extraConfig = ''
|
||
|
local wezterm = require('wezterm')
|
||
|
local c = wezterm.config_builder()
|
||
|
|
||
|
local resize_amount = 3;
|
||
|
|
||
|
local wezmodeConfig = {
|
||
|
theme = {
|
||
|
textColor = "white",
|
||
|
hintColor = "#a6e3a1",
|
||
|
normalModeColor = "#cba6f7",
|
||
|
modeTextColor = "#11111b",
|
||
|
}
|
||
|
}
|
||
|
|
||
|
wezterm.plugin.require('https://github.com/nekowinston/wezterm-bar').apply_to_config(c, {
|
||
|
position = 'bottom',
|
||
|
max_width = 32,
|
||
|
dividers = 'slant_right',
|
||
|
indicator = {
|
||
|
leader = {
|
||
|
enabled = true,
|
||
|
off = ' ',
|
||
|
on = ' ',
|
||
|
},
|
||
|
mode = {
|
||
|
enabled = true,
|
||
|
names = {
|
||
|
resize_mode = 'RESIZE',
|
||
|
copy_mode = 'VISUAL',
|
||
|
search_mode = 'SEARCH',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
tabs = {
|
||
|
numerals = 'arabic',
|
||
|
pane_count = 'subscript',
|
||
|
brackets = {
|
||
|
active = { "", ':' },
|
||
|
inactive = { "", ':' },
|
||
|
},
|
||
|
},
|
||
|
clock = {
|
||
|
enabled = true,
|
||
|
format = '%l:%M %p',
|
||
|
},
|
||
|
})
|
||
|
|
||
|
local act = wezterm.action
|
||
|
|
||
|
local keybinds = {
|
||
|
{
|
||
|
key = 'Enter',
|
||
|
mods = 'CTRL|SHIFT',
|
||
|
action = act.SplitHorizontal({ domain = 'CurrentPaneDomain' }),
|
||
|
},
|
||
|
{
|
||
|
key = 'h',
|
||
|
mods = 'ALT',
|
||
|
action = act.ActivatePaneDirection('Left'),
|
||
|
},
|
||
|
{
|
||
|
key = 'l',
|
||
|
mods = 'ALT',
|
||
|
action = act.ActivatePaneDirection 'Right',
|
||
|
},
|
||
|
{
|
||
|
key = 'k',
|
||
|
mods = 'ALT',
|
||
|
action = act.ActivatePaneDirection 'Up',
|
||
|
},
|
||
|
{
|
||
|
key = 'j',
|
||
|
mods = 'ALT',
|
||
|
action = act.ActivatePaneDirection 'Down',
|
||
|
},
|
||
|
}
|
||
|
|
||
|
local config = {
|
||
|
adjust_window_size_when_changing_font_size = false,
|
||
|
color_scheme = 'Catppuccin Mocha',
|
||
|
cursor_blink_ease_in = 'Constant',
|
||
|
cursor_blink_ease_out = 'Constant',
|
||
|
cursor_blink_rate = 500,
|
||
|
default_cursor_style = 'BlinkingBar',
|
||
|
enable_scroll_bar = false,
|
||
|
font_size = 12,
|
||
|
font = wezterm.font('Maple Mono NF'),
|
||
|
front_end = 'WebGpu',
|
||
|
underline_position = -4,
|
||
|
use_fancy_tab_bar = false,
|
||
|
webgpu_power_preference = 'HighPerformance',
|
||
|
window_background_opacity = 0.8,
|
||
|
window_padding = { left = 0, right = 0, top = 0, bottom = 0 },
|
||
|
}
|
||
|
|
||
|
for k, v in pairs(config) do
|
||
|
c[k] = v
|
||
|
end
|
||
|
|
||
|
return c
|
||
|
'';
|
||
|
};
|
||
|
}
|