256 lines
5.3 KiB
Lua
Executable file
256 lines
5.3 KiB
Lua
Executable file
-- -------------------------------------------------------------------
|
|
-- rxyhn's aesthetic wezterm configuration
|
|
-- A GPU-accelerated cross-platform terminal emulator and multiplexer
|
|
--
|
|
-- https://github.com/rxyhn
|
|
-- -------------------------------------------------------------------
|
|
|
|
local wezterm = require("wezterm")
|
|
|
|
local function font_with_fallback(name, params)
|
|
local names = { name, "Apple Color Emoji", "azuki_font" }
|
|
return wezterm.font_with_fallback(names, params)
|
|
end
|
|
|
|
local font_name = "FiraCode Nerd Font"
|
|
|
|
local colors = {
|
|
-- special
|
|
foreground = "#d9d7d6",
|
|
darker_background = "#000a0e",
|
|
background = "rgba(6,17,21,0)",
|
|
lighter_background = "#0d181c",
|
|
|
|
-- black
|
|
color0 = "#1c252c",
|
|
color8 = "#484e5b",
|
|
|
|
-- red
|
|
color1 = "#df5b61",
|
|
color9 = "#f16269",
|
|
|
|
-- green
|
|
color2 = "#78b892",
|
|
color10 = "#8cd7aa",
|
|
|
|
-- yellow
|
|
color3 = "#de8f78",
|
|
color11 = "#e9967e",
|
|
|
|
-- blue
|
|
color4 = "#6791c9",
|
|
color12 = "#79aaeb",
|
|
|
|
-- magenta
|
|
color5 = "#bc83e3",
|
|
color13 = "#c488ec",
|
|
|
|
-- cyan
|
|
color6 = "#67afc1",
|
|
color14 = "#7acfe4",
|
|
|
|
-- white
|
|
color7 = "#d9d7d6",
|
|
color15 = "#e5e5e5",
|
|
}
|
|
|
|
return {
|
|
-- OpenGL for GPU acceleration, Software for CPU
|
|
front_end = "OpenGL",
|
|
|
|
-- Font config
|
|
font = font_with_fallback(font_name),
|
|
font_rules = {
|
|
{ italic = true, font = font_with_fallback(font_name, { italic = true }) },
|
|
{
|
|
italic = true,
|
|
intensity = "Bold",
|
|
font = font_with_fallback(font_name, { bold = true, italic = true }),
|
|
},
|
|
{
|
|
intensity = "Bold",
|
|
font = font_with_fallback(font_name, { bold = true }),
|
|
},
|
|
{ intensity = "Half", font = font_with_fallback(font_name .. " Light") },
|
|
},
|
|
font_size = 11,
|
|
line_height = 1.0,
|
|
|
|
-- Cursor style
|
|
default_cursor_style = "BlinkingUnderline",
|
|
|
|
-- X11
|
|
enable_wayland = false,
|
|
|
|
-- Keybinds
|
|
disable_default_key_bindings = true,
|
|
keys = {
|
|
{
|
|
key = [[\]],
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({
|
|
SplitHorizontal = { domain = "CurrentPaneDomain" },
|
|
}),
|
|
},
|
|
{
|
|
key = [[\]],
|
|
mods = "CTRL",
|
|
action = wezterm.action({
|
|
SplitVertical = { domain = "CurrentPaneDomain" },
|
|
}),
|
|
},
|
|
{
|
|
key = "q",
|
|
mods = "CTRL",
|
|
action = wezterm.action({ CloseCurrentPane = { confirm = false } }),
|
|
},
|
|
{
|
|
key = "h",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ ActivatePaneDirection = "Left" }),
|
|
},
|
|
{
|
|
key = "l",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ ActivatePaneDirection = "Right" }),
|
|
},
|
|
{
|
|
key = "k",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ ActivatePaneDirection = "Up" }),
|
|
},
|
|
{
|
|
key = "j",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ ActivatePaneDirection = "Down" }),
|
|
},
|
|
{
|
|
key = "h",
|
|
mods = "CTRL|SHIFT|ALT",
|
|
action = wezterm.action({ AdjustPaneSize = { "Left", 1 } }),
|
|
},
|
|
{
|
|
key = "l",
|
|
mods = "CTRL|SHIFT|ALT",
|
|
action = wezterm.action({ AdjustPaneSize = { "Right", 1 } }),
|
|
},
|
|
{
|
|
key = "k",
|
|
mods = "CTRL|SHIFT|ALT",
|
|
action = wezterm.action({ AdjustPaneSize = { "Up", 1 } }),
|
|
},
|
|
{
|
|
key = "j",
|
|
mods = "CTRL|SHIFT|ALT",
|
|
action = wezterm.action({ AdjustPaneSize = { "Down", 1 } }),
|
|
},
|
|
{ -- browser-like bindings for tabbing
|
|
key = "t",
|
|
mods = "CTRL",
|
|
action = wezterm.action({ SpawnTab = "CurrentPaneDomain" }),
|
|
},
|
|
{
|
|
key = "w",
|
|
mods = "CTRL",
|
|
action = wezterm.action({ CloseCurrentTab = { confirm = false } }),
|
|
},
|
|
{
|
|
key = "Tab",
|
|
mods = "CTRL",
|
|
action = wezterm.action({ ActivateTabRelative = 1 }),
|
|
},
|
|
{
|
|
key = "Tab",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ ActivateTabRelative = -1 }),
|
|
}, -- standard copy/paste bindings
|
|
{
|
|
key = "x",
|
|
mods = "CTRL",
|
|
action = "ActivateCopyMode",
|
|
},
|
|
{
|
|
key = "v",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ PasteFrom = "Clipboard" }),
|
|
},
|
|
{
|
|
key = "c",
|
|
mods = "CTRL|SHIFT",
|
|
action = wezterm.action({ CopyTo = "ClipboardAndPrimarySelection" }),
|
|
},
|
|
},
|
|
|
|
-- Aesthetic Night Colorscheme
|
|
bold_brightens_ansi_colors = false,
|
|
colors = {
|
|
background = colors.background,
|
|
foreground = colors.foreground,
|
|
|
|
cursor_bg = colors.foreground,
|
|
cursor_fg = colors.foreground,
|
|
cursor_border = colors.foreground,
|
|
|
|
selection_fg = colors.background,
|
|
selection_bg = colors.color4,
|
|
|
|
scrollbar_thumb = colors.foreground,
|
|
|
|
split = colors.lighter_background,
|
|
|
|
ansi = {
|
|
colors.color0,
|
|
colors.color1,
|
|
colors.color2,
|
|
colors.color3,
|
|
colors.color4,
|
|
colors.color5,
|
|
colors.color6,
|
|
colors.color7,
|
|
},
|
|
|
|
brights = {
|
|
colors.color8,
|
|
colors.color9,
|
|
colors.color10,
|
|
colors.color11,
|
|
colors.color12,
|
|
colors.color13,
|
|
colors.color14,
|
|
colors.color15,
|
|
},
|
|
|
|
tab_bar = {
|
|
active_tab = {
|
|
bg_color = colors.background,
|
|
fg_color = colors.color8,
|
|
italic = true,
|
|
},
|
|
inactive_tab = { bg_color = colors.darker_background, fg_color = colors.color8 },
|
|
inactive_tab_hover = { bg_color = colors.color0, fg_color = colors.background },
|
|
},
|
|
},
|
|
|
|
-- Padding
|
|
window_padding = {
|
|
left = 25,
|
|
right = 25,
|
|
top = 25,
|
|
bottom = 25,
|
|
},
|
|
|
|
-- Tab Bar
|
|
enable_tab_bar = true,
|
|
hide_tab_bar_if_only_one_tab = true,
|
|
show_tab_index_in_tab_bar = false,
|
|
tab_bar_at_bottom = true,
|
|
|
|
-- General
|
|
automatically_reload_config = true,
|
|
inactive_pane_hsb = { saturation = 1.0, brightness = 1.0 },
|
|
window_frame = { active_titlebar_bg = colors.darker_background },
|
|
exit_behavior = "CloseOnCleanExit",
|
|
window_decorations = "RESIZE",
|
|
selection_word_boundary = " \t\n{}[]()\"'`,;:",
|
|
}
|