modules/home/programs/terminal/wezterm.nix: fix, refactor
modules/home/programs/shell/oh-my-posh.nix: fix, refactor Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
@ -17,7 +17,7 @@ in {
|
|||||||
# version = 2;
|
# version = 2;
|
||||||
final_space = true;
|
final_space = true;
|
||||||
shell_integration = true;
|
shell_integration = true;
|
||||||
console_title_template = "{{if .SSHSession}}{{.HostName}} {{ end }}{{ .Shell }} in {{ .Folder }}";
|
console_title_template = "{{ .Shell }} in {{ .Folder }}";
|
||||||
blocks = [
|
blocks = [
|
||||||
{
|
{
|
||||||
type = "prompt";
|
type = "prompt";
|
||||||
|
@ -16,7 +16,30 @@ in {
|
|||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
# 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 wezterm = require 'wezterm'
|
||||||
local act = wezterm.action
|
local act = wezterm.action
|
||||||
return {
|
return {
|
||||||
@ -44,10 +67,6 @@ in {
|
|||||||
disable_default_key_bindings = true,
|
disable_default_key_bindings = true,
|
||||||
leader = { key = 'Space', mods = 'CTRL', timeout_milliseconds = 2000 },
|
leader = { key = 'Space', mods = 'CTRL', timeout_milliseconds = 2000 },
|
||||||
keys = {
|
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 = 'Enter', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode },
|
||||||
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
|
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
|
||||||
{ key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
|
{ key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
|
||||||
@ -57,21 +76,15 @@ in {
|
|||||||
-- { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
|
-- { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
|
||||||
{ key = 'l', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } },
|
{ 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 = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
|
||||||
{ key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) },
|
{ key = '<', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(-1) },
|
||||||
{ key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) },
|
{ key = '>', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(1) },
|
||||||
{ key = ',', mods = 'SHIFT|CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, },
|
{ key = 'Tab', mods = 'CTRL|SHIFT', action = act.ActivateTabRelative(-1) },
|
||||||
{ key = '.', mods = 'SHIFT|CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, },
|
{ key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) },
|
||||||
{ key = '%', mods = 'SHIFT|CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, },
|
{ key = '%', mods = 'SHIFT|CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, },
|
||||||
{ key = '"', mods = 'SHIFT|CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, },
|
{ key = '"', mods = 'SHIFT|CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, },
|
||||||
-- pane navigation
|
-- pane navigation
|
||||||
{ key = 'LeftArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Left' },
|
${genNavigation arrows}
|
||||||
{ key = 'DownArrow', mods = 'LEADER', action = act.ActivatePaneDirection 'Down' },
|
${genNavigation homerow-arrows}
|
||||||
{ 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' },
|
|
||||||
|
|
||||||
{ key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
|
{ key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
|
||||||
{ key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = false } },
|
{ key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = false } },
|
||||||
|
Reference in New Issue
Block a user