Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt

Use this file to discover all available pages before exploring further.

WezTerm is the alternative GPU-accelerated terminal emulator in Salchipapa.Dots, configured entirely through a single Lua file. Its config lives at SalchipapaWezterm/.wezterm.lua and is symlinked to ~/.wezterm.lua (WezTerm’s default config path). Because the configuration is plain Lua, every setting is programmable — the file includes commented-out blocks for background images, Windows Acrylic blur, and GPU adapter selection that can be enabled as needed.

Installation

1

Create the symlink

Link the config file into the home directory:
ln -s ~/Salchipapa.Dots/SalchipapaWezterm/.wezterm.lua ~/.wezterm.lua
2

Install IosevkaTerm NF

Download IosevkaTerm Nerd Font from nerdfonts.com. On WSL2, install the font on the Windows host so WezTerm (which runs natively on Windows) can discover it.

Key Settings

Appearance

  • Color scheme: GruvboxDarkHard
  • Font: IosevkaTerm NF, size 16
  • Background opacity: 0.80
  • macOS blur radius: 20
  • Window padding: 0 on all sides

Performance

  • Max FPS: 240
  • Kitty graphics: enabled (true)
  • Scroll bar: disabled (false)
  • Tab bar: hidden when only one tab is open

WSL Integration

  • Default program: { "wsl.exe", "~" }
  • Opens directly into the WSL home directory on launch

Commented-out options

  • Background image (Windows path, brightness/saturation)
  • win32_system_backdrop = "Acrylic"
  • OpenGL front-end + GPU adapter selection
  • default_domain = 'WSL:Ubuntu'

Settings Reference

SettingValueDescription
default_prog{ "wsl.exe", "~" }Launch WSL, starting in the home directory
color_scheme"GruvboxDarkHard"Built-in WezTerm color scheme
fontwezterm.font("IosevkaTerm NF")Primary font
font_size16Font size in points
window_background_opacity0.80Window transparency (0.0–1.0)
macos_window_background_blur20macOS background blur radius
max_fps240Render rate cap for smooth scrolling
enable_kitty_graphicstrueEnables Kitty image protocol
hide_tab_bar_if_only_one_tabtrueHides tab bar for a cleaner single-tab look
enable_scroll_barfalseDisables the scrollbar
window_paddingtop=0, right=0, left=0, bottom=0Zero padding for maximum terminal area

Windows-Specific Notes

The config contains several commented-out blocks that are relevant only on native Windows (not WSL2):
  • Background image: config.background with a File source pointing to a Windows path (C:/Users/…). Uncomment and adjust the path to enable a blurred wallpaper behind the terminal.
  • Acrylic blur: config.win32_system_backdrop = "Acrylic" enables the Windows 11 Acrylic material effect.
  • default_domain: Setting config.default_domain = 'WSL:Ubuntu' makes WezTerm open directly into WSL without needing default_prog.
When running WezTerm natively on Windows (not inside WSL), uncomment the blocks labelled -- activate ONLY if windows --.
For Windows users experiencing rendering issues or wanting to select a specific GPU, the commented-out GPU block can help:
config.front_end = "OpenGL"
local gpus = wezterm.gui.enumerate_gpus()
if #gpus > 0 then
  config.webgpu_preferred_adapter = gpus[1]
else
  wezterm.log_info("No GPUs found, using default settings")
end
Uncomment these lines (and set config.front_end = "OpenGL") if WezTerm defaults to software rendering or selects the wrong adapter on a multi-GPU system.

Complete Configuration File

-- Import the wezterm API
local wezterm = require("wezterm")

-- Initialize an empty configuration table
local config = {}
config.default_prog = { "wsl.exe", "~" }
-- Background image options
-- config.background = {
-- 	{
-- 		source = {
-- 			File = "C:/Users/alanb/Pictures/synth-kanagawa-blur-20.jpg", -- Path to the background image file
-- 		},
-- 		width = "100%", -- Set the background image width to 100% of the terminal window
-- 		height = "100%", -- Set the background image height to gg100% of the terminal window
-- 		opacity = 1, -- Set the opacity of the background image (0.0 - 1.0)
-- 		hsb = {
-- 			brightness = 0.04, -- Set the brightness of the background image (low value to darken the image)
-- 			saturation = 1, -- Set the saturation of the background image
-- 		},
-- 	},
-- }

config.color_scheme = "GruvboxDarkHard"
-- This is where you actually apply your config choices
config.window_padding = {
	top = 0,
	right = 0,
	left = 0,
	bottom = 0
}

-- Set the terminal font
config.font = wezterm.font("IosevkaTerm NF")

-- Hide the tab bar if only one tab is open
config.hide_tab_bar_if_only_one_tab = true
config.max_fps = 240 -- hack for smoothness
config.enable_kitty_graphics = true

-- Background with Transparency
config.window_background_opacity = 0.80 -- Adjust this value as needed
config.macos_window_background_blur = 20 -- Adjust this value as needed
-- config.win32_system_backdrop = "Acrylic" -- Only Works in Windows

-- Font Size
config.font_size = 16

-- Smooth hack
config.max_fps = 240

-- Enable Kitty Graphics
config.enable_kitty_graphics = true

-- Disable Scroll Bar
config.enable_scroll_bar = false

-- activate ONLY if windows --

-- config.default_domain = 'WSL:Ubuntu'
-- config.front_end = "OpenGL"
-- local gpus = wezterm.gui.enumerate_gpus()
-- if #gpus > 0 then
--   config.webgpu_preferred_adapter = gpus[1] -- only set if there's at least one GPU
-- else
--   -- fallback to default behavior or log a message
--   wezterm.log_info("No GPUs found, using default settings")
-- end

-- and finally, return the configuration to wezterm

return config

Build docs developers (and LLMs) love