Wezterm¶
Wezterm is an interesting terminal emulator that is configured using Lua. I’ve been using it for a while however, my config is fairly minimal.
Makefile.PHONY: wezterm
wezterm:
test -L $(HOME)/.config/wezterm || ln -s $(shell pwd)/wezterm $(HOME)/.config/wezterm
wezterm/wezterm.lualocal wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.keys = {}
Appearance¶
Choose a font
wezterm/wezterm.luaconfig.font = wezterm.font('UbuntuMono Nerd Font')
Choose a light/dark theme based on the system.
wezterm/wezterm.luaif wezterm.gui.get_appearance():find("Dark") then
config.color_scheme = 'Modus-Vivendi'
else
config.color_scheme = 'Modus-Operandi'
end
Use the “retro” tab bar.
wezterm/wezterm.luaconfig.use_fancy_tab_bar = true
Default Program¶
Rather than mess around with my user’s default shell, just tell wezterm to start fish by default instead
wezterm/wezterm.luaconfig.default_prog = { '/usr/bin/fish', '-l' }
Keybindings¶
Disable the default Alt+Enter keybinding, it conflicts with Emacs.
wezterm/wezterm.luatable.insert(config.keys, {
key = 'Enter', mods = 'ALT', action = wezterm.action.DisableDefaultAssignment,
})
wezterm/wezterm.lualocal screenshot_command = require 'commands.screenshot'
screenshot_command.setup()
return config