diff --git a/home-manager/shared/shell/zellij.nix b/home-manager/shared/shell/zellij.nix index 2faa6f3..de05b12 100644 --- a/home-manager/shared/shell/zellij.nix +++ b/home-manager/shared/shell/zellij.nix @@ -3,67 +3,88 @@ pkgs, inputs, ... -}: { +}: let + config = + pkgs.writeText "zellij.kdl" + '' + session_serialization true + theme "catppuccin-macchiato" + + themes { + catppuccin-mocha { + bg "#585b70" // Surface2 + fg "#cdd6f4" + red "#f38ba8" + green "#a6e3a1" + blue "#89b4fa" + yellow "#f9e2af" + magenta "#f5c2e7" // Pink + orange "#fab387" // Peach + cyan "#89dceb" // Sky + black "#181825" // Mantle + white "#cdd6f4" + } + catppuccin-macchiato { + bg "#5b6078" // Surface2 + fg "#cad3f5" + red "#ed8796" + green "#a6da95" + blue "#8aadf4" + yellow "#eed49f" + magenta "#f5bde6" // Pink + orange "#f5a97f" // Peach + cyan "#91d7e3" // Sky + black "#1e2030" // Mantle + white "#cad3f5" + } + } + pane = { + default_tab_template { + children + pane size=1 borderless=true { + plugin location="file:${inputs.conduit.packages.${pkgs.system}.default}/bin/zjstatus.wasm" { + format_left "{mode} #[fg=cyan,bold]{session}" + format_center "{tabs}" + format_right "{command_git_branch} {datetime}" + format_space "" + + border_enabled "false" + border_char "─" + border_format "#[fg=green]{char}" + border_position "top" + + hide_frame_for_single_pane "true" + + mode_normal "#[bg=blue] " + mode_tmux "#[bg=blue] " + + tab_normal "#[fg=green] {name} " + tab_active "#[fg=red,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=#green,bold] {format} " + datetime_format "%A, %d %b %Y %H:%M" + datetime_timezone "Europe/Berlin" + } + } + } + } + ''; +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-macchiato = { - # bg = "#5b6078"; - # fg = "#cad3f5"; - # red = "#ed8796"; - # green = "#a6da95"; - # blue = "#8aadf4"; - # yellow = "#eed49f"; - # magenta = "#f5bde6"; - # orange = "#f5a97f"; - # cyan = "#91d7e3"; - # black = "#1e2030"; - # white = "#cad3f5"; - # }; - # }; - # pane = { - # "plugin location= \"file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm\"" = { - # 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/Amsterdam"; - # }; - # }; - # }; }; home.file = { "zellij" = { - source = ./zellij.kdl; + source = "${config}/app/config.kdl"; target = ".config/zellij/config.kdl"; }; };