nix/home-manager/common/software/cli/zellij.nix

72 lines
2.3 KiB
Nix
Raw Normal View History

2024-04-29 14:24:56 +02:00
{ config, pkgs, inputs, system, ... }: {
2024-04-29 06:55:26 +02:00
programs.zellij = {
enable = true;
2024-04-29 12:34:53 +02:00
# enableBashIntegration = true;
# enableFishIntegration = true;
2024-04-29 08:14:23 +02:00
settings = {
2024-04-29 13:06:50 +02:00
session_serialization = false;
2024-04-29 09:57:37 +02:00
mirror_session = true;
simplified_ui = true;
ui.pane_frames.rounded_corners = true;
2024-04-29 12:34:53 +02:00
ui.pane_frames.hide_session_name = true;
2024-04-29 08:14:23 +02:00
theme = "stylix";
themes.stylix = with config.lib.stylix.colors.withHashtag; {
bg = base02;
2024-04-29 12:34:53 +02:00
fg = base05;
2024-04-29 08:14:23 +02:00
red = base08;
green = base0B;
blue = base0D;
yellow = base0A;
magenta = base0E;
orange = base09;
cyan = base0C;
black = base00;
2024-04-29 12:34:53 +02:00
white = base05;
2024-04-29 08:14:23 +02:00
};
};
2024-04-29 06:55:26 +02:00
};
2024-04-29 14:01:46 +02:00
xdg.configFile."zjstatus-layout-default" = {
enable = true;
target = "zellij/layouts/default.kdl";
2024-04-29 14:24:56 +02:00
text = ''
layout {
default_tab_template {
children
pane size=1 borderless=false {
2024-04-29 14:35:24 +02:00
plugin location="${inputs.zjstatus.packages.${system}.default}/bin/zjstatus.wasm" {
2024-04-29 14:24:56 +02:00
format_left "{mode} #[fg=#89B4FA,bold]{session}"
format_center "{tabs}"
format_right "{command_git_branch} {datetime}"
format_space ""
border_enabled "false"
border_char ""
border_format "#[fg=#6C7086]{char}"
border_position "top"
hide_frame_for_single_pane "true"
mode_normal "#[bg=blue] "
mode_tmux "#[bg=#ffc387] "
tab_normal "#[fg=#6C7086] {name} "
tab_active "#[fg=#9399B2,bold,italic] {name} "
command_git_branch_command "git rev-parse --abbrev-ref HEAD"
command_git_branch_format "#[fg=blue] {stdout} "
command_git_branch_interval "10"
command_git_branch_rendermode "static"
datetime "#[fg=#6C7086,bold] {format} "
datetime_format "%A, %d %b %Y %H:%M"
datetime_timezone "Europe/Berlin"
}
}
}
}
'';
2024-04-29 14:01:46 +02:00
};
2024-04-29 06:55:26 +02:00
}