From 170d015464cf66dbb893840e314b47b5cc0993cf Mon Sep 17 00:00:00 2001 From: Zacharias-Brohn Date: Sat, 7 Mar 2026 22:52:54 +0100 Subject: [PATCH] Update dotfiles (2026-03-07 22:52:54) --- .config/wezterm/appearance.lua | 77 ++++++++++++++++++++++++ .config/wezterm/general.lua | 7 +++ .config/wezterm/keybinds.lua | 34 +++++++++++ .config/wezterm/mux/mux.lua | 14 +++++ .config/wezterm/plugins/init.lua | 21 +++++++ .config/wezterm/plugins/smart-splits.lua | 18 ++++++ .config/wezterm/plugins/tabline.lua | 43 +++++++++++++ .config/wezterm/wezterm.lua | 11 ++++ 8 files changed, 225 insertions(+) create mode 100644 .config/wezterm/appearance.lua create mode 100644 .config/wezterm/general.lua create mode 100644 .config/wezterm/keybinds.lua create mode 100644 .config/wezterm/mux/mux.lua create mode 100644 .config/wezterm/plugins/init.lua create mode 100644 .config/wezterm/plugins/smart-splits.lua create mode 100644 .config/wezterm/plugins/tabline.lua create mode 100755 .config/wezterm/wezterm.lua diff --git a/.config/wezterm/appearance.lua b/.config/wezterm/appearance.lua new file mode 100644 index 0000000..c46b3dc --- /dev/null +++ b/.config/wezterm/appearance.lua @@ -0,0 +1,77 @@ +local M = {} + +function M.setup(config, wezterm) + config.colors = { + tab_bar = { + inactive_tab_edge = "white", + + active_tab = { + bg_color = "rgba(60,60,60,0.5)", + fg_color = "rgba(255,255,255,1)", + italic = false, + }, + inactive_tab = { + bg_color = "rgba(30, 30, 30, 0.7)", + fg_color = "rgba(150,150,150,0.2)", + }, + inactive_tab_hover = { + bg_color = "rgba(230,230,230,0.1)", + fg_color = "rgba(255,255,255,1.0)", + }, + new_tab = { + bg_color = "rgba(30, 30, 30, 0.7)", + fg_color = "rgba(255,255,255,1)", + }, + new_tab_hover = { + bg_color = "rgba(230,230,230,0.1)", + fg_color = "rgba(255,255,255,1.0)", + italic = false, + }, + }, + } + + config.enable_wayland = true + + config.font = wezterm.font("0xProto Nerd Font Mono") + config.font_size = 12.0 + config.harfbuzz_features = { "calt=1", "clig=1", "liga=1" } + config.use_fancy_tab_bar = false + config.show_new_tab_button_in_tab_bar = false + config.show_close_tab_button_in_tabs = false + config.tab_bar_at_bottom = true + + config.window_decorations = "NONE" + + config.cursor_thickness = "1pt" + config.default_cursor_style = "SteadyBar" + + config.window_content_alignment = { + horizontal = "Center", + vertical = "Center", + } + + config.window_background_opacity = 0.8 + + config.inactive_pane_hsb = { + saturation = 1, + brightness = 0.6, + } + + config.window_frame = { + active_titlebar_bg = "rgba(60,60,60,0)", + inactive_titlebar_bg = "none", + border_left_width = "0", + border_right_width = "0", + border_bottom_height = "0", + border_top_height = "0", + } + + config.window_padding = { + left = "0%", + right = "0%", + top = "0%", + bottom = "0%", + } +end + +return M diff --git a/.config/wezterm/general.lua b/.config/wezterm/general.lua new file mode 100644 index 0000000..8915f59 --- /dev/null +++ b/.config/wezterm/general.lua @@ -0,0 +1,7 @@ +local M = {} + +function M.setup(config, wezterm) + config.enable_kitty_graphics = true +end + +return M diff --git a/.config/wezterm/keybinds.lua b/.config/wezterm/keybinds.lua new file mode 100644 index 0000000..1925c3b --- /dev/null +++ b/.config/wezterm/keybinds.lua @@ -0,0 +1,34 @@ +local M = {} + +function M.setup(config, act) + config.keys = { + { key = "LeftArrow", mods = "CTRL|ALT", action = act.ActivateTabRelative(-1) }, + { key = "RightArrow", mods = "CTRL|ALT", action = act.ActivateTabRelative(1) }, + { key = "-", mods = "CTRL|ALT", action = act.CloseCurrentPane({ confirm = false }) }, + { key = "+", mods = "CTRL|ALT", action = act.SpawnTab("CurrentPaneDomain") }, + { key = "F1", action = act.SplitVertical }, + { key = "F2", action = act.SplitHorizontal }, + { + key = "LeftArrow", + mods = "ALT", + action = act.ActivatePaneDirection("Left"), + }, + { + key = "RightArrow", + mods = "ALT", + action = act.ActivatePaneDirection("Right"), + }, + { + key = "UpArrow", + mods = "ALT", + action = act.ActivatePaneDirection("Up"), + }, + { + key = "DownArrow", + mods = "ALT", + action = act.ActivatePaneDirection("Down"), + }, + } +end + +return M diff --git a/.config/wezterm/mux/mux.lua b/.config/wezterm/mux/mux.lua new file mode 100644 index 0000000..ca6b0ae --- /dev/null +++ b/.config/wezterm/mux/mux.lua @@ -0,0 +1,14 @@ +local M = {} + +function M.setup(config, wezterm) + config.unix_domains = { + { + name = "unix", + skip_permissions_check = true, + }, + } + + config.default_gui_startup_args = { "connect", "unix" } +end + +return M diff --git a/.config/wezterm/plugins/init.lua b/.config/wezterm/plugins/init.lua new file mode 100644 index 0000000..1e27abd --- /dev/null +++ b/.config/wezterm/plugins/init.lua @@ -0,0 +1,21 @@ +local M = {} + +function M.setup_all(config, wezterm) + local files = wezterm.glob("plugins/*.lua", wezterm.config_dir) + table.sort(files) + + for _, relpath in ipairs(files) do + local module_name = relpath:gsub("\\", "/"):gsub("%.lua$", ""):gsub("/", ".") + + if module_name ~= "plugins.init" then + local ok, mod = pcall(require, module_name) + if not ok then + wezterm.log_error(("Failed to load %s: %s"):format(module_name, mod)) + elseif type(mod) == "table" and type(mod.setup) == "function" then + mod.setup(config, wezterm) + end + end + end +end + +return M diff --git a/.config/wezterm/plugins/smart-splits.lua b/.config/wezterm/plugins/smart-splits.lua new file mode 100644 index 0000000..ae5412a --- /dev/null +++ b/.config/wezterm/plugins/smart-splits.lua @@ -0,0 +1,18 @@ +local M = {} + +function M.setup(config, wezterm) + local smart_splits = wezterm.plugin.require("https://github.com/mrjones2014/smart-splits.nvim") + + smart_splits.apply_to_config(config, { + direction_keys = { "LeftArrow", "DownArrow", "UpArrow", "RightArrow" }, + + modifiers = { + move = "META", + resize = "SHIFT|META", + }, + + log_level = "error", + }) +end + +return M diff --git a/.config/wezterm/plugins/tabline.lua b/.config/wezterm/plugins/tabline.lua new file mode 100644 index 0000000..b7f221e --- /dev/null +++ b/.config/wezterm/plugins/tabline.lua @@ -0,0 +1,43 @@ +local M = {} + +function M.setup(config, wezterm) + local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez") + tabline.setup({ + options = { + icons_enabled = true, + theme = "Tokyo Night", + tabs_enabled = true, + theme_overrides = {}, + section_separators = { + left = wezterm.nerdfonts.pl_left_hard_divider, + right = wezterm.nerdfonts.pl_right_hard_divider, + }, + component_separators = { + left = wezterm.nerdfonts.pl_left_soft_divider, + right = wezterm.nerdfonts.pl_right_soft_divider, + }, + tab_separators = { + left = wezterm.nerdfonts.pl_left_hard_divider, + right = wezterm.nerdfonts.pl_right_hard_divider, + }, + }, + sections = { + tabline_a = { "mode" }, + tabline_b = { "" }, + tabline_c = { "" }, + tab_active = { + "index", + { "process", padding = 0, icons_only = true }, + }, + tab_inactive = { "index", { "process", padding = 0, icons_only = true } }, + tabline_x = { "ram", "cpu" }, + tabline_y = { "datetime", "battery" }, + tabline_z = { "" }, + }, + extensions = {}, + }) + + tabline.apply_to_config(config) +end + +return M diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua new file mode 100755 index 0000000..df7023c --- /dev/null +++ b/.config/wezterm/wezterm.lua @@ -0,0 +1,11 @@ +local wezterm = require("wezterm") +local act = wezterm.action +local config = wezterm.config_builder() + +require("mux.mux").setup(config, wezterm) +require("appearance").setup(config, wezterm) +require("general").setup(config, wezterm) +require("keybinds").setup(config, act) +require("plugins").setup_all(config, wezterm) + +return config