116 lines
2.9 KiB
Nix
116 lines
2.9 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|SHIFT',
|
|
action = act.ActivatePaneDirection('Left'),
|
|
},
|
|
{
|
|
key = 'l',
|
|
mods = 'ALT|SHIFT',
|
|
action = act.ActivatePaneDirection 'Right',
|
|
},
|
|
{
|
|
key = 'k',
|
|
mods = 'ALT|SHIFT',
|
|
action = act.ActivatePaneDirection 'Up',
|
|
},
|
|
{
|
|
key = 'j',
|
|
mods = 'ALT|SHIFT',
|
|
action = act.ActivatePaneDirection 'Down',
|
|
},
|
|
{
|
|
key = 't',
|
|
mods = 'CTRL|SHIFT',
|
|
action = act.SpawnCommandInNewTab { cwd = wezterm.home_dir },
|
|
}
|
|
}
|
|
|
|
local config = {
|
|
initial_cols = 160,
|
|
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_kitty_graphics = true,
|
|
enable_scroll_bar = false,
|
|
font_size = 12,
|
|
font = wezterm.font('Maple Mono NF'),
|
|
keys = keybinds,
|
|
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
|
|
'';
|
|
};
|
|
}
|