diff --git a/hosts/desktops/common/packages.nix b/hosts/desktops/common/packages.nix index 20ce296..3e1037f 100644 --- a/hosts/desktops/common/packages.nix +++ b/hosts/desktops/common/packages.nix @@ -98,5 +98,5 @@ in { }; environment.plasma6.excludePackages = - (with pkgs.kdePackages; [ elisa gwenview oxygen khelpcenter konsole ]); + (with pkgs.kdePackages; [ elisa gwenview oxygen khelpcenter ]); } diff --git a/users/desktops/common/default.nix b/users/desktops/common/default.nix index f9dfb30..5986d86 100644 --- a/users/desktops/common/default.nix +++ b/users/desktops/common/default.nix @@ -1,5 +1,5 @@ { ... }: { - imports = [ ./home.nix ./programs.nix ]; + imports = [ ./home.nix ./programs.nix ./programs/wezterm.nix ]; } diff --git a/users/desktops/common/programs.nix b/users/desktops/common/programs.nix index bda9111..1246140 100644 --- a/users/desktops/common/programs.nix +++ b/users/desktops/common/programs.nix @@ -52,82 +52,6 @@ ''; }; }; - - wezterm = { - enable = true; - extraConfig = '' - local act = wezterm.action - local config = {} - if wezterm.config_builder then config = wezterm.config_builder() end - config.disable_default_key_bindings = true - config.color_scheme = "Catppuccin Mocha" - config.font = wezterm.font_with_fallback ({ - {family = "Hack Nerd Font", scale = 1}, - {family = "Noto Color Emoji", scale = 1}, - }) - config.initial_cols = 108 - config.initial_rows = 32 - config.enable_scroll_bar = true - config.inactive_pane_hsb = { - saturation = 0.7, - brightness = 0.5 - } - config.window_frame = { - font = wezterm.font_with_fallback ({ - {family = "Hack Nerd Font", scale = 1}, - {family = "Noto Color Emoji", scale = 1}, - }), - active_titlebar_bg = '#303446', - inactive_titlebar_bg = '#303446', - } - config.show_new_tab_button_in_tab_bar = false - config.hide_tab_bar_if_only_one_tab = true - config.colors = { - tab_bar = { - background = '#303446', - active_tab = { - bg_color = '#1e1e2e', - fg_color = '#9197b0', - }, - inactive_tab = { - bg_color = '#303446', - fg_color = '#9197b0' - }, - inactive_tab_edge = '#303062', - } - } - config.keys = { - { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, - { key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, - { key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, - { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, - { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, - { key = '0', mods = 'CTRL', action = act.ResetFontSize }, - { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, - { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, - { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, - { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, - { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, - { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, - { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, - { key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, - { key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, - { key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, - { key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, - } - return config - ''; - }; }; home.file = { diff --git a/users/desktops/common/programs/wezterm.nix b/users/desktops/common/programs/wezterm.nix new file mode 100644 index 0000000..6e32a43 --- /dev/null +++ b/users/desktops/common/programs/wezterm.nix @@ -0,0 +1,86 @@ +{ config, pkgs, lib, ... }: + +{ + programs.wezterm = { + enable = true; + extraConfig = '' + local act = wezterm.action + + wezterm.on('update-right-status', function(window, pane) + local date = wezterm.strftime '%H:%M' + window:set_right_status(wezterm.format { + { Text = date .. ' '}, + }) + end) + + return { + disable_default_key_bindings = true, + color_scheme = "Catppuccin Mocha", + font = wezterm.font_with_fallback ({ + {family = "Hack Nerd Font", scale = 1}, + {family = "Noto Color Emoji", scale = 1}, + }), + initial_cols = 108, + initial_rows = 32, + enable_scroll_bar = true, + inactive_pane_hsb = { + saturation = 0.7, + brightness = 0.5 + }, + window_frame = { + font = wezterm.font_with_fallback ({ + {family = "Hack Nerd Font", scale = 1}, + {family = "Noto Color Emoji", scale = 1}, + }), + active_titlebar_bg = '#303446', + inactive_titlebar_bg = '#303446', + }, + hide_tab_bar_if_only_one_tab = true, + show_new_tab_button_in_tab_bar = false, + colors = { + tab_bar = { + background = '#303446', + active_tab = { + bg_color = '#1e1e2e', + fg_color = '#9197b0', + }, + inactive_tab = { + bg_color = '#303446', + fg_color = '#9197b0' + }, + inactive_tab_edge = '#303062', + }, + }, + keys = { + { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, + { key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, + { key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, + { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, + { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, + { key = '0', mods = 'CTRL', action = act.ResetFontSize }, + { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, + { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, + { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, + { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, + { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, + { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, + { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, + { key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, + { key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, + { key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, + { key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, + }, + } + ''; + }; +}