dotfiles/wezterm/wezterm.lua
Mats Ricardo Nomedal a11473e308 initial dotfiles
2026-04-23 23:48:01 +02:00

135 lines
4.9 KiB
Lua

local wezterm = require("wezterm")
local config = wezterm.config_builder()
-- ─────────────────────────────────────────────
-- Colors — CovenantUI
-- ─────────────────────────────────────────────
config.colors = {
foreground = "#00d4e8",
background = "#000d0f",
cursor_bg = "#00c8e0",
cursor_fg = "#000d0f",
cursor_border = "#00c8e0",
selection_fg = "#000d0f",
selection_bg = "#007a8a",
ansi = {
"#001418", -- black → surface bg
"#ff2244", -- red → alert / danger
"#b8ff00", -- green → chartreuse data
"#ffaa00", -- yellow → warning amber
"#007a8a", -- blue → dim cyan
"#005f6a", -- magenta → deeper dim cyan
"#00c8e0", -- cyan → header cyan
"#00d4e8", -- white → text
},
brights = {
"#002830", -- bright black
"#ff4466", -- bright red
"#ccff00", -- bright green
"#ffcc00", -- bright yellow
"#00c8e0", -- bright blue
"#007a8a", -- bright magenta
"#00e5ff", -- bright cyan
"#e0faff", -- bright white
},
tab_bar = {
background = "#000d0f",
active_tab = {
bg_color = "#001418",
fg_color = "#00d4e8",
intensity = "Normal",
underline = "None",
italic = false,
strikethrough = false,
},
inactive_tab = {
bg_color = "#000d0f",
fg_color = "#005f6a",
},
inactive_tab_hover = {
bg_color = "#001418",
fg_color = "#007a8a",
},
new_tab = {
bg_color = "#000d0f",
fg_color = "#005f6a",
},
new_tab_hover = {
bg_color = "#001418",
fg_color = "#00c8e0",
},
},
}
-- ─────────────────────────────────────────────
-- Font
-- ─────────────────────────────────────────────
config.font = wezterm.font("JetBrainsMono Nerd Font")
config.font_size = 14
config.line_height = 1.0
-- ─────────────────────────────────────────────
-- Window
-- ─────────────────────────────────────────────
config.initial_cols = 120
config.initial_rows = 30
config.window_decorations = "RESIZE"
config.hide_tab_bar_if_only_one_tab = true
config.window_background_opacity = 0.85
-- ─────────────────────────────────────────────
-- Padding
-- ─────────────────────────────────────────────
config.window_padding = {
left = 10,
right = 10,
top = 6,
bottom = 6,
}
-- ─────────────────────────────────────────────
-- Cursor
-- ─────────────────────────────────────────────
config.cursor_blink_rate = 400
config.default_cursor_style = "BlinkingBlock"
-- ─────────────────────────────────────────────
-- Performance
-- ─────────────────────────────────────────────
config.max_fps = 144
config.prefer_egl = true
-- ─────────────────────────────────────────────
-- Scrollback & behavior
-- ─────────────────────────────────────────────
config.scrollback_lines = 2000
config.scroll_to_bottom_on_input = true
config.audible_bell = "Disabled"
config.window_close_confirmation = "NeverPrompt"
-- ─────────────────────────────────────────────
-- Key bindings
-- ─────────────────────────────────────────────
config.keys = {
{
key = "w",
mods = "ALT",
action = wezterm.action.CloseCurrentPane { confirm = false },
},
{
key = "d",
mods = "ALT",
action = wezterm.action.SplitHorizontal { domain = "CurrentPaneDomain" },
},
{
key = "d",
mods = "ALT|SHIFT",
action = wezterm.action.SplitVertical { domain = "CurrentPaneDomain" },
},
}
return config