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