227 lines
7.1 KiB
Nix
227 lines
7.1 KiB
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}: let
|
|
layout =
|
|
pkgs.writeText "default.kdl"
|
|
''
|
|
layout {
|
|
tab {
|
|
pane
|
|
}
|
|
|
|
swap_tiled_layout name="vertical" {
|
|
tab max_panes=5 {
|
|
pane split_direction="vertical" {
|
|
pane
|
|
pane { children; }
|
|
}
|
|
}
|
|
tab max_panes=8 {
|
|
pane split_direction="vertical" {
|
|
pane { children; }
|
|
pane { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
tab max_panes=12 {
|
|
pane split_direction="vertical" {
|
|
pane { children; }
|
|
pane { pane; pane; pane; pane; }
|
|
pane { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
}
|
|
|
|
swap_tiled_layout name="horizontal" {
|
|
tab max_panes=5 {
|
|
pane
|
|
pane
|
|
}
|
|
tab max_panes=8 {
|
|
pane {
|
|
pane split_direction="vertical" { children; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
tab max_panes=12 {
|
|
pane {
|
|
pane split_direction="vertical" { children; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
}
|
|
|
|
default_tab_template {
|
|
pane size=1 borderless=true {
|
|
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
|
|
format_left "#[bg=#1D1D2E,fg=#C9D2F5,bold] {session} {mode} {tabs}"
|
|
format_right "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{datetime}#[bg=#1D1D2E,fg=#C9D2F5]"
|
|
|
|
mode_locked "#[fg=magenta,bold] {name} "
|
|
mode_normal "#[fg=green,bold] {name} "
|
|
mode_resize "#[fg=orange,bold] {name} "
|
|
mode_default_to_mode "resize"
|
|
|
|
tab_normal "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#1D1D2E,fg=#C9D2F5]"
|
|
tab_active "#[bg=#A6DA95,fg=#1D1D2E]#[bg=#A6DA95,fg=#A6DA95]#[bg=#A6DA95,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#A6DA95,fg=#A6DA95]#[bg=#1D1D2E,fg=#A6DA95]"
|
|
|
|
tab_sync_indicator " "
|
|
tab_fullscreen_indicator "□ "
|
|
tab_floating_indicator " "
|
|
|
|
datetime "#[bg=#C9D2F5,fg=#1D1D2E,bold]{format} "
|
|
datetime_format "%Y-%m-%d %H:%M"
|
|
datetime_timezone "Europe/Amsterdam"
|
|
}
|
|
}
|
|
children
|
|
pane size=2 borderless=true {
|
|
plugin location="status-bar"
|
|
}
|
|
}
|
|
}
|
|
'';
|
|
helix_zellij =
|
|
pkgs.writeText "helix.kdl"
|
|
''
|
|
layout {
|
|
tab {
|
|
pane {
|
|
command "hx"
|
|
args "."
|
|
}
|
|
pane split_direction="vertical" size="20%" {}
|
|
}
|
|
swap_tiled_layout name="vertical" {
|
|
tab max_panes=5 {
|
|
pane split_direction="vertical" {
|
|
pane
|
|
pane { children; }
|
|
}
|
|
}
|
|
tab max_panes=8 {
|
|
pane split_direction="vertical" {
|
|
pane { children; }
|
|
pane { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
tab max_panes=12 {
|
|
pane split_direction="vertical" {
|
|
pane { children; }
|
|
pane { pane; pane; pane; pane; }
|
|
pane { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
}
|
|
|
|
swap_tiled_layout name="horizontal" {
|
|
tab max_panes=5 {
|
|
pane
|
|
pane
|
|
}
|
|
tab max_panes=8 {
|
|
pane {
|
|
pane split_direction="vertical" { children; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
tab max_panes=12 {
|
|
pane {
|
|
pane split_direction="vertical" { children; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
pane split_direction="vertical" { pane; pane; pane; pane; }
|
|
}
|
|
}
|
|
}
|
|
|
|
default_tab_template {
|
|
pane size=1 borderless=true {
|
|
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
|
|
format_left "#[bg=#1D1D2E,fg=#C9D2F5,bold] {session} {mode} {tabs}"
|
|
format_right "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{datetime}#[bg=#1D1D2E,fg=#C9D2F5]"
|
|
|
|
mode_locked "#[fg=magenta,bold] {name} "
|
|
mode_normal "#[fg=green,bold] {name} "
|
|
mode_resize "#[fg=orange,bold] {name} "
|
|
mode_default_to_mode "resize"
|
|
|
|
tab_normal "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#1D1D2E,fg=#C9D2F5]"
|
|
tab_active "#[bg=#A6DA95,fg=#1D1D2E]#[bg=#A6DA95,fg=#A6DA95]#[bg=#A6DA95,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#A6DA95,fg=#A6DA95]#[bg=#1D1D2E,fg=#A6DA95]"
|
|
|
|
tab_sync_indicator " "
|
|
tab_fullscreen_indicator "□ "
|
|
tab_floating_indicator " "
|
|
|
|
datetime "#[bg=#C9D2F5,fg=#1D1D2E,bold]{format} "
|
|
datetime_format "%Y-%m-%d %H:%M"
|
|
datetime_timezone "Europe/Amsterdam"
|
|
}
|
|
}
|
|
children
|
|
pane size=2 borderless=true {
|
|
plugin location="status-bar"
|
|
}
|
|
}
|
|
}
|
|
'';
|
|
in {
|
|
programs.zellij = {
|
|
# This autostarts zellij on zsh start
|
|
# TODO find specific settings for vscode to avoid
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
settings = {
|
|
session_serialization = true;
|
|
# theme = "catppuccin-macchiato";
|
|
|
|
themes = {
|
|
catppuccin-mocha = {
|
|
bg = "#585b70";
|
|
fg = "#cdd6f4";
|
|
red = "#f38ba8";
|
|
green = "#a6e3a1";
|
|
blue = "#89b4fa";
|
|
yellow = "#f9e2af";
|
|
magenta = "#f5c2e7";
|
|
orange = "#fab387";
|
|
cyan = "#89dceb";
|
|
black = "#181825";
|
|
white = "#cdd6f4";
|
|
};
|
|
catppuccin-macchiato = {
|
|
bg = "#5b6078";
|
|
fg = "#cad3f5";
|
|
red = "#ed8796";
|
|
green = "#a6da95";
|
|
blue = "#8aadf4";
|
|
yellow = "#eed49f";
|
|
magenta = "#f5bde6";
|
|
orange = "#f5a97f";
|
|
cyan = "#91d7e3";
|
|
black = "#1e2030";
|
|
white = "#cad3f5";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
home.file = {
|
|
"layout" = {
|
|
source = "${layout}";
|
|
target = ".config/zellij/layouts/default.kdl";
|
|
};
|
|
|
|
"helix_zellij" = {
|
|
source = "${helix_zellij}";
|
|
target = ".config/zellij/layouts/helix.kdl";
|
|
};
|
|
};
|
|
#home.file = {
|
|
# "config" = {
|
|
# source = ./zellij.kdl;
|
|
# target = ".config/zellij/config.kdl";
|
|
# };
|
|
#};
|
|
}
|