Added wezterm and added aliases for justfile
This commit is contained in:
107
modules/home/applications/wezterm.nix
Normal file
107
modules/home/applications/wezterm.nix
Normal file
@@ -0,0 +1,107 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.applications.wezterm;
|
||||
in {
|
||||
options = {
|
||||
settings.applications.wezterm.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable wezterm terminal
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.wezterm = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
package = pkgs.unstable.wezterm;
|
||||
extraConfig = /* lua */ ''
|
||||
-- Pull in the wezterm API
|
||||
local wezterm = require 'wezterm'
|
||||
|
||||
-- This will hold the configuration.
|
||||
local config = wezterm.config_builder()
|
||||
local act = wezterm.action
|
||||
|
||||
-- This is where you actually apply your config choices
|
||||
|
||||
-- For example, changing the color scheme:
|
||||
config.enable_tab_bar = true
|
||||
config.use_fancy_tab_bar = false
|
||||
config.window_decorations = "NONE"
|
||||
config.tab_bar_at_bottom = true
|
||||
|
||||
config.keys = {
|
||||
-- Pane controls
|
||||
{
|
||||
key = 'h',
|
||||
mods = 'CTRL',
|
||||
action = act.ActivatePaneDirection 'Left',
|
||||
},
|
||||
{
|
||||
key = 'l',
|
||||
mods = 'CTRL',
|
||||
action = act.ActivatePaneDirection 'Right',
|
||||
},
|
||||
{
|
||||
key = 'k',
|
||||
mods = 'CTRL',
|
||||
action = act.ActivatePaneDirection 'Up',
|
||||
},
|
||||
{
|
||||
key = 'j',
|
||||
mods = 'CTRL',
|
||||
action = act.ActivatePaneDirection 'Down',
|
||||
},
|
||||
|
||||
-- Pane resizing
|
||||
{
|
||||
key = 'H',
|
||||
mods = 'CTRL',
|
||||
action = act.AdjustPaneSize { 'Left', 5 },
|
||||
},
|
||||
{
|
||||
key = 'L',
|
||||
mods = 'CTRL',
|
||||
action = act.AdjustPaneSize { 'Right', 5 },
|
||||
},
|
||||
{
|
||||
key = 'K',
|
||||
mods = 'CTRL',
|
||||
action = act.AdjustPaneSize { 'Up', 5 },
|
||||
},
|
||||
{
|
||||
key = 'J',
|
||||
mods = 'CTRL',
|
||||
action = act.AdjustPaneSize { 'Down', 5 },
|
||||
},
|
||||
{
|
||||
key = 'q',
|
||||
mods = 'CTRL',
|
||||
action = act.CloseCurrentPane { confirm = false },
|
||||
},
|
||||
|
||||
-- Tab management
|
||||
{ key = '1', mods = 'ALT', action = act.ActivateTab(0) },
|
||||
{ key = '2', mods = 'ALT', action = act.ActivateTab(1) },
|
||||
{ key = '3', mods = 'ALT', action = act.ActivateTab(2) },
|
||||
{ key = '4', mods = 'ALT', action = act.ActivateTab(3) },
|
||||
{ key = '5', mods = 'ALT', action = act.ActivateTab(4) },
|
||||
{
|
||||
key = 'q',
|
||||
mods = 'ALT',
|
||||
action = act.CloseCurrentTab { confirm = false },
|
||||
},
|
||||
}
|
||||
|
||||
-- and finally, return the configuration to wezterm
|
||||
return config
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user