per host nix modules by user
This commit is contained in:
parent
8975b5cc3c
commit
5291ac3b47
26 changed files with 23 additions and 4 deletions
170
users/josh/home_manager/wezterm/wezterm.lua
Normal file
170
users/josh/home_manager/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,170 @@
|
|||
local info = os.getenv("WEZTERM_EXECUTABLE")
|
||||
local nix_test = os.getenv("NIX_PROFILES")
|
||||
local isMac = info:find("MacOS") ~= nil
|
||||
local isNix = not (nix_test == nil or nix_text == "")
|
||||
|
||||
|
||||
-- gets basename of path. From https://stackoverflow.com/a/39872872
|
||||
-- local function basename(str)
|
||||
-- return str:sub(str:find("/[^/|\\]*$") + 1)
|
||||
-- end
|
||||
|
||||
local wezterm = require("wezterm")
|
||||
local config = {}
|
||||
|
||||
if wezterm.config_builder then
|
||||
config = wezterm.config_builder()
|
||||
end
|
||||
|
||||
config.disable_default_key_bindings = true
|
||||
config.keys = {
|
||||
-- Manually add Ctrl+Shift+V for Paste
|
||||
{
|
||||
key = "v",
|
||||
mods = "CTRL|SHIFT",
|
||||
action = wezterm.action.PasteFrom("Clipboard"),
|
||||
},
|
||||
-- Manually add Ctrl+Shift+C for Copy
|
||||
{
|
||||
key = "c",
|
||||
mods = "CTRL|SHIFT",
|
||||
action = wezterm.action.CopyTo("Clipboard"),
|
||||
},
|
||||
-- Create new TMUX window
|
||||
{
|
||||
key = "t",
|
||||
mods = "CTRL",
|
||||
action = wezterm.action.SendString("\x01" .. "t"),
|
||||
},
|
||||
-- Close TMUX window
|
||||
{
|
||||
key = "w",
|
||||
mods = "CTRL",
|
||||
action = wezterm.action.SendString("\x01" .. "w"),
|
||||
},
|
||||
-- Close TMUX window
|
||||
{
|
||||
key = "o",
|
||||
mods = "CTRL",
|
||||
action = wezterm.action.SendString("\x01" .. "o"),
|
||||
},
|
||||
}
|
||||
|
||||
for i = 1, 9 do
|
||||
table.insert(config.keys, {
|
||||
key = tostring(i),
|
||||
mods = "CTRL",
|
||||
action = wezterm.action.SendString("\x01" .. tostring(i)),
|
||||
})
|
||||
end
|
||||
|
||||
-- My modifications: https://gist.github.com/RingOfStorms/b2ff0c4e37f5be9f985c72c3ec9a3e62
|
||||
local scheme = wezterm.get_builtin_color_schemes()["Catppuccin Mocha"]
|
||||
local c = {
|
||||
text = "#e0e0e0",
|
||||
subtext1 = "#cccccc",
|
||||
subtext0 = "#b8b8b8",
|
||||
overlay2 = "#a3a3a3",
|
||||
overlay1 = "#8c8c8c",
|
||||
overlay0 = "#787878",
|
||||
surface2 = "#636363",
|
||||
surface1 = "#4f4f4f",
|
||||
surface0 = "#3b3b3b",
|
||||
base = "#262626",
|
||||
mantle = "#1f1f1f",
|
||||
crust = "#171717",
|
||||
}
|
||||
scheme.foreground = c.text
|
||||
scheme.background = c.base
|
||||
scheme.cursor_fg = c.crust
|
||||
scheme.selection_fg = c.text
|
||||
scheme.selection_bg = c.surface2
|
||||
scheme.scrollbar_thumb = c.surface2
|
||||
scheme.split = c.overlay0
|
||||
scheme.ansi[1] = c.surface1
|
||||
scheme.ansi[8] = c.subtext1
|
||||
scheme.brights[1] = c.surface2
|
||||
scheme.brights[8] = c.subtext0
|
||||
scheme.visual_bell = c.surface0
|
||||
-- I don't use tab bar so not really needed
|
||||
scheme.tab_bar.background = c.crust
|
||||
scheme.tab_bar.active_tab.fg_color = c.crust
|
||||
scheme.tab_bar.inactive_tab.bg_color = c.mantle
|
||||
scheme.tab_bar.inactive_tab.fg_color = c.text
|
||||
scheme.tab_bar.inactive_tab_hover.bg_color = c.base
|
||||
scheme.tab_bar.inactive_tab_hover.fg_color = c.text
|
||||
scheme.tab_bar.new_tab.bg_color = c.surface0
|
||||
scheme.tab_bar.new_tab.fg_color = c.text
|
||||
scheme.tab_bar.new_tab_hover.bg_color = c.surface1
|
||||
scheme.tab_bar.new_tab_hover.fg_color = c.text
|
||||
scheme.tab_bar.inactive_tab_edge = c.surface0
|
||||
|
||||
config.color_schemes = { ["Catppuccin Coal"] = scheme }
|
||||
config.color_scheme = "Catppuccin Coal"
|
||||
|
||||
if isMac then
|
||||
config.font_size = 16
|
||||
config.window_decorations = "RESIZE"
|
||||
elseif isNix then
|
||||
config.enable_wayland = true
|
||||
|
||||
config.window_decorations = "NONE"
|
||||
|
||||
-- Fix for cursor disappearing in gnome
|
||||
-- https://github.com/wez/wezterm/issues/1742#issuecomment-1075333507
|
||||
local xcursor_size = nil
|
||||
local xcursor_theme = nil
|
||||
|
||||
local success, stdout, stderr = wezterm.run_child_process({"gsettings", "get", "org.gnome.desktop.interface", "cursor-theme"})
|
||||
if success then
|
||||
xcursor_theme = stdout:gsub("'(.+)'\n", "%1")
|
||||
end
|
||||
|
||||
local success, stdout, stderr = wezterm.run_child_process({"gsettings", "get", "org.gnome.desktop.interface", "cursor-size"})
|
||||
if success then
|
||||
xcursor_size = tonumber(stdout)
|
||||
end
|
||||
|
||||
config.xcursor_theme = xcursor_theme
|
||||
config.xcursor_size = xcursor_size
|
||||
end
|
||||
|
||||
config.window_frame = {
|
||||
font = wezterm.font({ family = "JetBrains Mono", weight = "Bold" }),
|
||||
}
|
||||
|
||||
config.enable_tab_bar = false
|
||||
-- config.colors = {
|
||||
-- tab_bar = {
|
||||
-- active_tab = {
|
||||
-- bg_color = "#1c1c1c",
|
||||
-- fg_color = "#ababab",
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
|
||||
config.font = wezterm.font_with_fallback({
|
||||
{
|
||||
family = "JetBrainsMono Nerd Font Mono",
|
||||
weight = "Regular",
|
||||
},
|
||||
{ family = "Terminus" },
|
||||
})
|
||||
|
||||
-- wezterm.on("format-tab-title", function(tab)
|
||||
-- local p = tab.active_pane
|
||||
-- local idx = tab.is_active and "" or tab.tab_index + 1
|
||||
-- local dir = basename(p.current_working_dir)
|
||||
|
||||
-- local title = idx .. " " .. dir
|
||||
|
||||
-- local proc = basename(p.foreground_process_name)
|
||||
-- if proc ~= "zsh" then
|
||||
-- title = title .. " " .. proc
|
||||
-- end
|
||||
|
||||
-- return title
|
||||
-- end)
|
||||
|
||||
return config
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue