wezterm configs
This commit is contained in:
parent
30bea1fc71
commit
5faafce31c
4 changed files with 280 additions and 0 deletions
226
home/private_dot_config/wezterm/colors/catppuccin.lua
Normal file
226
home/private_dot_config/wezterm/colors/catppuccin.lua
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
local wezterm = require "wezterm";
|
||||||
|
|
||||||
|
-- color variant hex codes
|
||||||
|
local colors = {
|
||||||
|
latte = {
|
||||||
|
rosewater = "#dc8a78",
|
||||||
|
flamingo = "#dd7878",
|
||||||
|
pink = "#ea76cb",
|
||||||
|
mauve = "#8839ef",
|
||||||
|
red = "#d20f39",
|
||||||
|
maroon = "#e64553",
|
||||||
|
peach = "#fe640b",
|
||||||
|
yellow = "#df8e1d",
|
||||||
|
green = "#40a02b",
|
||||||
|
teal = "#179299",
|
||||||
|
sky = "#04a5e5",
|
||||||
|
sapphire = "#209fb5",
|
||||||
|
blue = "#1e66f5",
|
||||||
|
lavender = "#7287fd",
|
||||||
|
text = "#4c4f69",
|
||||||
|
subtext1 = "#5c5f77",
|
||||||
|
subtext0 = "#6c6f85",
|
||||||
|
overlay2 = "#7c7f93",
|
||||||
|
overlay1 = "#8c8fa1",
|
||||||
|
overlay0 = "#9ca0b0",
|
||||||
|
surface2 = "#acb0be",
|
||||||
|
surface1 = "#bcc0cc",
|
||||||
|
surface0 = "#ccd0da",
|
||||||
|
crust = "#dce0e8",
|
||||||
|
mantle = "#e6e9ef",
|
||||||
|
base = "#eff1f5"
|
||||||
|
},
|
||||||
|
frappe = {
|
||||||
|
rosewater = "#f2d5cf",
|
||||||
|
flamingo = "#eebebe",
|
||||||
|
pink = "#f4b8e4",
|
||||||
|
mauve = "#ca9ee6",
|
||||||
|
red = "#e78284",
|
||||||
|
maroon = "#ea999c",
|
||||||
|
peach = "#ef9f76",
|
||||||
|
yellow = "#e5c890",
|
||||||
|
green = "#a6d189",
|
||||||
|
teal = "#81c8be",
|
||||||
|
sky = "#99d1db",
|
||||||
|
sapphire = "#85c1dc",
|
||||||
|
blue = "#8caaee",
|
||||||
|
lavender = "#babbf1",
|
||||||
|
text = "#c6d0f5",
|
||||||
|
subtext1 = "#b5bfe2",
|
||||||
|
subtext0 = "#a5adce",
|
||||||
|
overlay2 = "#949cbb",
|
||||||
|
overlay1 = "#838ba7",
|
||||||
|
overlay0 = "#737994",
|
||||||
|
surface2 = "#626880",
|
||||||
|
surface1 = "#51576d",
|
||||||
|
surface0 = "#414559",
|
||||||
|
base = "#303446",
|
||||||
|
mantle = "#292c3c",
|
||||||
|
crust = "#232634"
|
||||||
|
},
|
||||||
|
macchiato = {
|
||||||
|
rosewater = "#f4dbd6",
|
||||||
|
flamingo = "#f0c6c6",
|
||||||
|
pink = "#f5bde6",
|
||||||
|
mauve = "#c6a0f6",
|
||||||
|
red = "#ed8796",
|
||||||
|
maroon = "#ee99a0",
|
||||||
|
peach = "#f5a97f",
|
||||||
|
yellow = "#eed49f",
|
||||||
|
green = "#a6da95",
|
||||||
|
teal = "#8bd5ca",
|
||||||
|
sky = "#91d7e3",
|
||||||
|
sapphire = "#7dc4e4",
|
||||||
|
blue = "#8aadf4",
|
||||||
|
lavender = "#b7bdf8",
|
||||||
|
text = "#cad3f5",
|
||||||
|
subtext1 = "#b8c0e0",
|
||||||
|
subtext0 = "#a5adcb",
|
||||||
|
overlay2 = "#939ab7",
|
||||||
|
overlay1 = "#8087a2",
|
||||||
|
overlay0 = "#6e738d",
|
||||||
|
surface2 = "#5b6078",
|
||||||
|
surface1 = "#494d64",
|
||||||
|
surface0 = "#363a4f",
|
||||||
|
base = "#24273a",
|
||||||
|
mantle = "#1e2030",
|
||||||
|
crust = "#181926"
|
||||||
|
},
|
||||||
|
mocha = {
|
||||||
|
rosewater = "#f5e0dc",
|
||||||
|
flamingo = "#f2cdcd",
|
||||||
|
pink = "#f5c2e7",
|
||||||
|
mauve = "#cba6f7",
|
||||||
|
red = "#f38ba8",
|
||||||
|
maroon = "#eba0ac",
|
||||||
|
peach = "#fab387",
|
||||||
|
yellow = "#f9e2af",
|
||||||
|
green = "#a6e3a1",
|
||||||
|
teal = "#94e2d5",
|
||||||
|
sky = "#89dceb",
|
||||||
|
sapphire = "#74c7ec",
|
||||||
|
blue = "#89b4fa",
|
||||||
|
lavender = "#b4befe",
|
||||||
|
text = "#cdd6f4",
|
||||||
|
subtext1 = "#bac2de",
|
||||||
|
subtext0 = "#a6adc8",
|
||||||
|
overlay2 = "#9399b2",
|
||||||
|
overlay1 = "#7f849c",
|
||||||
|
overlay0 = "#6c7086",
|
||||||
|
surface2 = "#585b70",
|
||||||
|
surface1 = "#45475a",
|
||||||
|
surface0 = "#313244",
|
||||||
|
base = "#1e1e2e",
|
||||||
|
mantle = "#181825",
|
||||||
|
crust = "#11111b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local catppuccin = {}
|
||||||
|
function catppuccin.select(palette)
|
||||||
|
return {
|
||||||
|
foreground = colors[palette].text,
|
||||||
|
background = colors[palette].base,
|
||||||
|
cursor_bg = colors[palette].rosewater,
|
||||||
|
cursor_border = colors[palette].rosewater,
|
||||||
|
cursor_fg = colors[palette].base,
|
||||||
|
selection_bg = colors[palette].surface2,
|
||||||
|
selection_fg = colors[palette].text,
|
||||||
|
ansi = {
|
||||||
|
colors[palette].overlay0,
|
||||||
|
colors[palette].red,
|
||||||
|
colors[palette].green,
|
||||||
|
colors[palette].yellow,
|
||||||
|
colors[palette].blue,
|
||||||
|
colors[palette].pink,
|
||||||
|
colors[palette].sky,
|
||||||
|
colors[palette].overlay2
|
||||||
|
},
|
||||||
|
brights = {
|
||||||
|
colors[palette].overlay1,
|
||||||
|
colors[palette].red,
|
||||||
|
colors[palette].green,
|
||||||
|
colors[palette].yellow,
|
||||||
|
colors[palette].blue,
|
||||||
|
colors[palette].pink,
|
||||||
|
colors[palette].sky,
|
||||||
|
colors[palette].text
|
||||||
|
},
|
||||||
|
tab_bar = {
|
||||||
|
background = colors[palette].base,
|
||||||
|
active_tab = {
|
||||||
|
bg_color = colors[palette].surface2,
|
||||||
|
fg_color = colors[palette].text
|
||||||
|
},
|
||||||
|
inactive_tab = {
|
||||||
|
bg_color = colors[palette].base,
|
||||||
|
fg_color = colors[palette].text
|
||||||
|
},
|
||||||
|
inactive_tab_hover = {
|
||||||
|
bg_color = colors[palette].surface2,
|
||||||
|
fg_color = colors[palette].text
|
||||||
|
},
|
||||||
|
new_tab = {
|
||||||
|
bg_color = colors[palette].base,
|
||||||
|
fg_color = colors[palette].text
|
||||||
|
},
|
||||||
|
new_tab_hover = {
|
||||||
|
bg_color = colors[palette].surface2,
|
||||||
|
fg_color = colors[palette].text,
|
||||||
|
italic = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
visual_bell = colors[palette].surface0,
|
||||||
|
indexed = {
|
||||||
|
[16] = colors[palette].peach,
|
||||||
|
[17] = colors[palette].rosewater
|
||||||
|
},
|
||||||
|
scrollbar_thumb = colors[palette].surface2,
|
||||||
|
split = colors[palette].crust,
|
||||||
|
-- nightbuild only
|
||||||
|
compose_cursor = colors[palette].flamingo
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- utility functions for interacting with wezterm API
|
||||||
|
local function scheme_for_appearance(appearance, options)
|
||||||
|
if appearance:find("Dark") then
|
||||||
|
return catppuccin.select(options.sync_flavours.dark)
|
||||||
|
else
|
||||||
|
return catppuccin.select(options.sync_flavours.light)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function catppuccin.setup(options)
|
||||||
|
-- default to not syncing with the OS theme
|
||||||
|
local should_sync = true
|
||||||
|
if options.sync == false then should_sync = false end
|
||||||
|
|
||||||
|
-- default options
|
||||||
|
options = {
|
||||||
|
sync = should_sync,
|
||||||
|
sync_flavours = options.sync_flavours or {
|
||||||
|
light = "latte",
|
||||||
|
dark = "mocha"
|
||||||
|
},
|
||||||
|
flavour = options.flavour or "mocha"
|
||||||
|
}
|
||||||
|
|
||||||
|
-- if sync is enabled, hook into the window-config-reloaded event
|
||||||
|
-- snippet from https://wezfurlong.org/wezterm/config/lua/window/get_appearance.html#windowget_appearance
|
||||||
|
if options.sync then
|
||||||
|
wezterm.on("window-config-reloaded", function(window, pane)
|
||||||
|
local overrides = window:get_config_overrides() or {}
|
||||||
|
local appearance = window:get_appearance()
|
||||||
|
local scheme = scheme_for_appearance(appearance, options)
|
||||||
|
if overrides.background ~= scheme.background then
|
||||||
|
overrides.colors = scheme
|
||||||
|
window:set_config_overrides(overrides)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return catppuccin.select(options.flavour)
|
||||||
|
end
|
||||||
|
|
||||||
|
return catppuccin
|
11
home/private_dot_config/wezterm/executable_get-key-ref.sh
Normal file
11
home/private_dot_config/wezterm/executable_get-key-ref.sh
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if ! [[ -d wez-ref ]]; then
|
||||||
|
git clone git@github.com:wez/wezterm.git wez-ref --depth 1
|
||||||
|
else
|
||||||
|
cd wez-ref
|
||||||
|
git pull
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat wez-ref/docs/config/lua/keyassignment/* >keys-ref.md
|
13
home/private_dot_config/wezterm/keys.lua
Normal file
13
home/private_dot_config/wezterm/keys.lua
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
local wezterm = require("wezterm")
|
||||||
|
|
||||||
|
return {
|
||||||
|
{ key = "C", mods = "CTRL|SHIFT", action = wezterm.action { CopyTo = "ClipboardAndPrimarySelection" } },
|
||||||
|
-- paste from the clipboard
|
||||||
|
{ key = "V", mods = "CTRL|SHIFT", action = wezterm.action { PasteFrom = "Clipboard" } },
|
||||||
|
-- paste from the primary selection
|
||||||
|
{ key = "V", mods = "CTRL|SHIFT", action = wezterm.action { PasteFrom = "PrimarySelection" } },
|
||||||
|
-- change font size
|
||||||
|
{key="-", mods="CTRL", action="DecreaseFontSize"},
|
||||||
|
{key="=", mods="CTRL", action="IncreaseFontSize"},
|
||||||
|
{ key = "Space", mods = "CTRL|SHIFT", action = "QuickSelect" },
|
||||||
|
}
|
30
home/private_dot_config/wezterm/wezterm.lua
Normal file
30
home/private_dot_config/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
local wezterm = require("wezterm")
|
||||||
|
local catppuccin = require("colors/catppuccin").setup {}
|
||||||
|
|
||||||
|
-- add wezterm to title for wm usage
|
||||||
|
wezterm.on("format-window-title",
|
||||||
|
function()
|
||||||
|
return " - Wezterm"
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
local padding = 10
|
||||||
|
|
||||||
|
return {
|
||||||
|
window_background_opacity = 0.9,
|
||||||
|
window_padding = {
|
||||||
|
left = padding,
|
||||||
|
right = padding,
|
||||||
|
top = padding,
|
||||||
|
bottom = padding,
|
||||||
|
},
|
||||||
|
font = wezterm.font("MonoLisa NF"),
|
||||||
|
adjust_window_size_when_changing_font_size = false,
|
||||||
|
colors = catppuccin,
|
||||||
|
use_fancy_tab_bar = false,
|
||||||
|
hide_tab_bar_if_only_one_tab = true,
|
||||||
|
tab_bar_at_bottom = true,
|
||||||
|
disable_default_key_bindings = true,
|
||||||
|
bold_brightens_ansi_colors = true,
|
||||||
|
keys = require('keys'),
|
||||||
|
}
|
Loading…
Reference in a new issue