2024-12-24 10:20:09 +01:00
|
|
|
{ config, lib, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.settings.applications.zellij;
|
|
|
|
in {
|
|
|
|
options = {
|
|
|
|
settings.applications.zellij.enable = lib.mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
description = ''
|
|
|
|
Enable zellij tool
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
programs.zellij = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.zellij = {
|
|
|
|
target = ".config/zellij/config.kdl";
|
|
|
|
text = ''
|
2025-02-06 11:16:24 +01:00
|
|
|
pane_frames true
|
2024-12-24 10:20:09 +01:00
|
|
|
keybinds {
|
|
|
|
normal {
|
|
|
|
bind "Ctrl e" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
|
|
|
bind "Alt 1" { GoToTab 1; }
|
|
|
|
bind "Alt 2" { GoToTab 2; }
|
|
|
|
bind "Alt 3" { GoToTab 3; }
|
|
|
|
bind "Alt 4" { GoToTab 4; }
|
|
|
|
bind "Alt 5" { GoToTab 5; }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.zellij-layout-default = {
|
|
|
|
target = ".config/zellij/layouts/default.kdl";
|
|
|
|
text = ''
|
|
|
|
layout {
|
2025-02-06 11:16:24 +01:00
|
|
|
pane borderless=true {}
|
2024-12-24 10:20:09 +01:00
|
|
|
floating_panes {
|
|
|
|
pane {
|
|
|
|
width "80%"
|
|
|
|
height "80%"
|
|
|
|
x "10%"
|
|
|
|
y "10%"
|
|
|
|
}
|
|
|
|
}
|
2025-02-06 11:16:24 +01:00
|
|
|
pane size=1 borderless=true {
|
|
|
|
plugin location="zellij:tab-bar"
|
2024-12-24 10:20:09 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|