diff --git a/flake.nix b/flake.nix index 5843aa6..0ffa87d 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + zjstatus.url = "github:dj95/zjstatus"; }; outputs = @@ -28,6 +29,7 @@ nix-homebrew, agenix, zellij-switch, + zjstatus, ... }@inputs: let diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 0ba70db..e46d0d4 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -29,6 +29,7 @@ # in modules/default.nix nixpkgs.overlays = [ inputs.zellij-switch.overlays.default + inputs.zjstatus.overlays.default ]; # System Packages @@ -40,6 +41,7 @@ devenv zellij zellij-switch + zjstatus rsync ] ); diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index c4b1cb7..e6fe3e4 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -4,9 +4,63 @@ source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/config.kdl"; }; - xdg.configFile."zellij/layouts" = { - source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/layouts"; - }; + xdg.configFile."zellij/layouts/default.kdl".text = '' + layout { + default_tab_template { + pane size=1 borderless=false { + plugin location="file://{${pkgs.zjstatus}/bin/zjstatus.wasm" { + color_fg "#ffffff" + color_fg_alt "#bf8a9f" + color_fg_dim "#807c9f" + color_bg "#0f0b15" + color_bg_secondary "#1d202f" + color_grey "#807c9f" + color_grey_bright "#807c9f" + color_red "#f47359" + color_red_bright "#ff6a7a" + color_red_subtle_bg "#67182f" + color_green "#29a444" + color_green_bright "#00a392" + color_green_subtle_bg "#10452f" + color_yellow "#b58a52" + color_yellow_bright "#df9080" + color_yellow_brighter "#FCC1B6" + color_yellow_subtle_bg "#54362a" + color_blue "#3f95f6" + color_blue_bright "#029fff" + color_blue_subtle_bg "#2a346e" + color_blue_subtle_dark_bg "#003045" + color_magenta "#d369af" + color_magenta_bright "#af85ea" + color_magenta_brighter "#c57faf" + color_magenta_subtle_bg "#572454" + color_magenta_subtle_bg_darker "#331531" + color_cyan "#4fbaef" + color_cyan_bright "#35afbf" + color_cyan_subtle_bg "#133d56" + color_silver "#b8c6d5" + color_silver_bright "#ffffff" + + format_left "#[bg=$bg_secondary]{tabs}" + format_center "" + format_right "#[fg=$magenta_brighter,italic][{session}] " + + tab_normal "#[fg=$fg_dim][{index}] {name}" + tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" + tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" + + tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" + tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" + tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" + + tab_rename "#[fg=$cyan_bright]{name}" + tab_separator "#[fg=$fg_dim] | " + } + } + children + } + } + ''; programs.zellij = { enable = true;