2024-05-02 11:21:29 +02:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
2024-05-02 11:54:18 +02:00
|
|
|
inputs,
|
2024-05-02 11:21:29 +02:00
|
|
|
...
|
2024-05-02 13:12:03 +02:00
|
|
|
}: let
|
2024-05-02 13:41:41 +02:00
|
|
|
layout =
|
|
|
|
pkgs.writeText "default.kdl"
|
2024-05-02 13:12:03 +02:00
|
|
|
''
|
2024-05-02 14:18:50 +02:00
|
|
|
layout {
|
2024-05-02 15:31:43 +02:00
|
|
|
// pane size=1 borderless=true {
|
|
|
|
// plugin location="tab-bar"
|
|
|
|
//}
|
|
|
|
|
2024-05-02 14:18:50 +02:00
|
|
|
pane size=1 borderless=true {
|
2024-05-02 14:13:20 +02:00
|
|
|
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
|
2024-05-02 14:54:57 +02:00
|
|
|
format_left "{mode} Zellij #[fg=yellow,bold]({session})"
|
2024-05-02 14:56:21 +02:00
|
|
|
format_center "{tabs}"
|
2024-05-02 14:28:40 +02:00
|
|
|
format_right "{command_git_branch} {datetime}"
|
2024-05-02 14:54:57 +02:00
|
|
|
format_space " "
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:28:40 +02:00
|
|
|
border_enabled "true"
|
|
|
|
border_char "─"
|
|
|
|
border_format "#[fg=green]{char}"
|
|
|
|
border_position "top"
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:28:40 +02:00
|
|
|
hide_frame_for_single_pane "false"
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:28:40 +02:00
|
|
|
mode_normal "#[bg=blue] "
|
|
|
|
mode_tmux "#[bg=blue] "
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:48:42 +02:00
|
|
|
// formatting for inactive tabs
|
|
|
|
tab_normal "#[fg=green] {index} :: {name} "
|
|
|
|
tab_normal_fullscreen "#[fg=green] {index} :: {name} [] "
|
|
|
|
tab_normal_sync "#[fg=green] {index} :: {name} <> "
|
|
|
|
|
|
|
|
// formatting for the current active tab
|
2024-05-02 14:54:57 +02:00
|
|
|
tab_active "#[fg=white,bold,italic] {name} {floating_indicator}"
|
|
|
|
tab_active_fullscreen "#[fg=white,bold,italic] {name} {fullscreen_indicator}"
|
|
|
|
tab_active_sync "#[fg=white,bold,italic] {name} {sync_indicator}"
|
2024-05-02 14:48:42 +02:00
|
|
|
|
|
|
|
// separator between the tabs
|
|
|
|
tab_separator "#[fg=green,bg=orange] | "
|
|
|
|
|
|
|
|
// indicators
|
|
|
|
tab_sync_indicator "<> "
|
|
|
|
tab_fullscreen_indicator "[] "
|
|
|
|
tab_floating_indicator "⬚ "
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:28:40 +02:00
|
|
|
command_git_branch_command "git rev-parse --abbrev-ref HEAD"
|
2024-05-02 14:54:57 +02:00
|
|
|
command_git_branch_format "#[fg=yellow] {stdout} "
|
2024-05-02 14:28:40 +02:00
|
|
|
command_git_branch_interval "10"
|
|
|
|
command_git_branch_rendermode "static"
|
2024-05-02 12:15:04 +02:00
|
|
|
|
2024-05-02 14:54:57 +02:00
|
|
|
datetime "#[fg=#yellow,bold] {format} "
|
2024-05-02 14:28:40 +02:00
|
|
|
datetime_format "%Y-%M-%d %H:%M"
|
|
|
|
datetime_timezone "Europe/Amsterdam"
|
2024-05-02 13:12:03 +02:00
|
|
|
}
|
2024-05-02 14:13:20 +02:00
|
|
|
}
|
2024-05-02 15:31:43 +02:00
|
|
|
pane
|
|
|
|
pane size=2 borderless=true {
|
|
|
|
plugin location="status-bar"
|
|
|
|
}
|
2024-05-02 13:12:03 +02:00
|
|
|
}
|
|
|
|
'';
|
|
|
|
in {
|
|
|
|
programs.zellij = {
|
|
|
|
# This autostarts zellij on zsh start
|
|
|
|
# TODO find specific settings for vscode to avoid
|
|
|
|
enable = true;
|
|
|
|
enableZshIntegration = true;
|
2024-04-29 20:06:28 +02:00
|
|
|
};
|
2024-05-02 11:54:18 +02:00
|
|
|
|
2024-05-02 12:24:29 +02:00
|
|
|
home.file = {
|
2024-05-02 13:41:41 +02:00
|
|
|
"layout" = {
|
|
|
|
source = "${layout}";
|
2024-05-02 14:28:40 +02:00
|
|
|
target = ".config/zellij/layouts/default.kdl";
|
2024-05-02 13:41:41 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
home.file = {
|
|
|
|
"config" = {
|
|
|
|
source = ./zellij.kdl;
|
2024-05-02 12:24:29 +02:00
|
|
|
target = ".config/zellij/config.kdl";
|
|
|
|
};
|
|
|
|
};
|
2024-04-29 20:06:28 +02:00
|
|
|
}
|