2022-11-16 17:29:02 +00:00
|
|
|
local wezterm = require 'wezterm'
|
|
|
|
local mux = wezterm.mux
|
|
|
|
|
|
|
|
local maps = require 'maps'
|
|
|
|
|
2022-11-25 15:21:20 +00:00
|
|
|
require 'statusbar'.setup()
|
|
|
|
require 'events'.setup()
|
2022-11-16 17:29:02 +00:00
|
|
|
|
2023-03-03 17:41:06 +00:00
|
|
|
local function file_exists(name)
|
|
|
|
local f = io.open(name, "r")
|
|
|
|
if f ~= nil then
|
|
|
|
io.close(f)
|
|
|
|
return true
|
|
|
|
else
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
-- automatically reload colors file
|
|
|
|
local colorsfile = (os.getenv('XDG_STATE_HOME') or
|
|
|
|
(os.getenv('HOME') .. '/.local/state')) ..
|
|
|
|
'/wezterm/colors.toml'
|
|
|
|
local colors = {}
|
|
|
|
if file_exists(colorsfile) == true then
|
|
|
|
wezterm.add_to_config_reload_watch_list(colorsfile)
|
|
|
|
colors = wezterm.color.load_scheme(colorsfile)
|
|
|
|
end
|
|
|
|
|
2022-11-25 15:21:20 +00:00
|
|
|
-- wezterm.on("set-up-dotfile-workspace", function(window, pane)
|
|
|
|
-- -- Set a workspace for coding on a current project
|
|
|
|
-- -- Top pane is for the editor, bottom pane is for the build tool
|
|
|
|
-- local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test'
|
|
|
|
-- local tab, build_pane, window = mux.spawn_window {
|
|
|
|
-- workspace = 'coding',
|
|
|
|
-- cwd = project_dir,
|
|
|
|
-- args = args
|
|
|
|
-- }
|
|
|
|
-- local editor_pane = build_pane:split{
|
|
|
|
-- direction = 'Top',
|
|
|
|
-- size = 0.6,
|
|
|
|
-- cwd = project_dir
|
|
|
|
-- }
|
|
|
|
-- build_pane:send_text 'quarto check'
|
|
|
|
-- mux.set_active_workspace 'coding'
|
|
|
|
-- end)
|
2022-11-16 17:29:02 +00:00
|
|
|
--
|
|
|
|
-- wezterm.on('gui-startup', function(cmd)
|
|
|
|
-- -- allow `wezterm start -- something` to affect what we spawn
|
|
|
|
-- -- in our initial window
|
|
|
|
-- local args = {}
|
|
|
|
-- if cmd then args = cmd.args end
|
|
|
|
--
|
|
|
|
-- -- Set a workspace for coding on a current project
|
|
|
|
-- -- Top pane is for the editor, bottom pane is for the build tool
|
|
|
|
-- local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test'
|
|
|
|
-- local tab, build_pane, window = mux.spawn_window {
|
|
|
|
-- workspace = 'coding',
|
|
|
|
-- cwd = project_dir,
|
|
|
|
-- args = args
|
|
|
|
-- }
|
|
|
|
-- local editor_pane = build_pane:split {
|
|
|
|
-- direction = 'Top',
|
|
|
|
-- size = 0.6,
|
|
|
|
-- cwd = project_dir
|
|
|
|
-- }
|
|
|
|
-- build_pane:send_text 'quarto check'
|
|
|
|
--
|
|
|
|
-- -- A workspace for interacting with a local machine that
|
|
|
|
-- -- runs some docker containners for home automation
|
|
|
|
-- local tab, pane, window = mux.spawn_window {
|
|
|
|
-- workspace = 'toppy',
|
|
|
|
-- args = { 'top' }
|
|
|
|
-- }
|
|
|
|
--
|
|
|
|
-- -- We want to startup in the coding workspace
|
|
|
|
-- mux.set_active_workspace 'coding'
|
|
|
|
-- end)
|
|
|
|
|
|
|
|
return {
|
|
|
|
enable_wayland = true,
|
|
|
|
hide_tab_bar_if_only_one_tab = true,
|
|
|
|
use_fancy_tab_bar = false,
|
|
|
|
tab_bar_at_bottom = true,
|
2022-11-25 15:21:20 +00:00
|
|
|
window_padding = { left = 0, right = 0, top = 0, bottom = 0 },
|
2023-03-03 17:41:06 +00:00
|
|
|
colors = colors,
|
|
|
|
color_scheme = "Nord (base16)", -- will be overwritten by colors
|
2022-11-16 17:29:02 +00:00
|
|
|
-- default_prog = {"nu"},
|
|
|
|
scrollback_lines = 10000,
|
2023-01-19 17:28:20 +00:00
|
|
|
font = wezterm.font('Iosevka Nerd Font'),
|
2022-11-16 17:29:02 +00:00
|
|
|
line_height = 1.0,
|
2022-11-25 15:21:20 +00:00
|
|
|
leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1500 },
|
2022-11-16 17:29:02 +00:00
|
|
|
keys = maps.keys,
|
|
|
|
key_tables = maps.key_tables
|
|
|
|
}
|