diff --git a/modules/home/programs/shell/oh-my-posh.nix b/modules/home/programs/shell/oh-my-posh.nix index 6e035a0..77d6214 100644 --- a/modules/home/programs/shell/oh-my-posh.nix +++ b/modules/home/programs/shell/oh-my-posh.nix @@ -17,7 +17,7 @@ in { # version = 2; final_space = true; shell_integration = true; - console_title_template = "{{if .SSHSession}}{{.HostName}} {{ end }}{{ .Shell }} in {{ .Folder }}"; + console_title_template = "{{ .Shell }} in {{ .Folder }}"; blocks = [ { type = "prompt"; diff --git a/modules/home/programs/terminal/wezterm.nix b/modules/home/programs/terminal/wezterm.nix index 4d385d7..5612edf 100644 --- a/modules/home/programs/terminal/wezterm.nix +++ b/modules/home/programs/terminal/wezterm.nix @@ -16,7 +16,30 @@ in { programs.wezterm = { enable = true; # package = inputs.wezterm.packages.${pkgs.system}.default; - extraConfig = '' + extraConfig = let + arrows = { + left = "LeftArrow"; + down = "DownArrow"; + up = "UpArrow"; + right = "RightArrow"; + }; + homerow-arrows = { + left = "n"; + down = "e"; + up = "i"; + right = "o"; + }; + genNavigation = keys: '' + { key = '${keys.left}', mods = 'LEADER', action = act.ActivatePaneDirection 'Left' }, + { key = '${keys.down}', mods = 'LEADER', action = act.ActivatePaneDirection 'Down' }, + { key = '${keys.up}', mods = 'LEADER', action = act.ActivatePaneDirection 'Up' }, + { key = '${keys.right}', mods = 'LEADER', action = act.ActivatePaneDirection 'Right' }, + { key = '${keys.left}', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Left' }, + { key = '${keys.down}', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Down' }, + { key = '${keys.up}', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Up' }, + { key = '${keys.right}', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Right' }, + ''; + in '' local wezterm = require 'wezterm' local act = wezterm.action return { @@ -44,10 +67,6 @@ in { disable_default_key_bindings = true, leader = { key = 'Space', mods = 'CTRL', timeout_milliseconds = 2000 }, keys = { - { key = 'n', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(-1) }, - { key = 'e', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Down', }, - { key = 'u', mods = 'CTRL|SHIFT', action = act.ActivatePaneDirection 'Up', }, - { key = 'i', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(1) }, { key = 'Enter', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode }, { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, { key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize }, @@ -57,21 +76,15 @@ in { -- { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow }, { key = 'l', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, { key = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, - { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = ',', mods = 'SHIFT|CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, }, - { key = '.', mods = 'SHIFT|CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, }, + { key = '<', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(-1) }, + { key = '>', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(1) }, + { key = 'Tab', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(-1) }, + { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, { key = '%', mods = 'SHIFT|CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, }, { key = '"', mods = 'SHIFT|CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, }, -- pane navigation - { key = 'LeftArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Left' }, - { key = 'DownArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Down' }, - { key = 'UpArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Up' }, - { key = 'RightArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Right' }, - { key = 'n', mods = 'LEADER', action = act.ActivatePaneDirection 'Left' }, - { key = 'e', mods = 'LEADER', action = act.ActivatePaneDirection 'Down' }, - { key = 'i', mods = 'LEADER', action = act.ActivatePaneDirection 'Up' }, - { key = 'o', mods = 'LEADER', action = act.ActivatePaneDirection 'Right' }, + ${genNavigation arrows} + ${genNavigation homerow-arrows} { key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, { key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = false } }, @@ -80,14 +93,14 @@ in { { key = 'Enter', mods = 'LEADER', action = act.ActivateCopyMode, }, { key = 'p', mods = 'LEADER', action = act.PasteFrom 'PrimarySelection', }, { key = 'k', mods = 'SHIFT|CTRL', action = act.Multiple - { - act.ClearScrollback 'ScrollbackAndViewport', - act.SendKey { key = 'L', mods = 'CTRL' }, - }, - }, + { + act.ClearScrollback 'ScrollbackAndViewport', + act.SendKey { key = 'L', mods = 'CTRL' }, + }, + }, { key = 'r', mods = 'LEADER', action = act.ActivateKeyTable { name = 'resize_pane', one_shot = false, }, } - }, - } + }, + } ''; }; };