Files
nix-config/home/base/tui/zellij/default.nix
T
2024-11-14 00:00:21 +08:00

44 lines
1.1 KiB
Nix

{
pkgs,
pkgs-stable,
...
}: let
shellAliases = {
"zj" = "zellij";
};
in {
programs.zellij = {
enable = true;
# [Linux] Revert to old v0.40.1 to fix:
# https://github.com/zellij-org/zellij/issues/3592
package =
if pkgs.stdenv.isLinux
then pkgs-stable.zellij
else pkgs.zellij;
};
# auto start zellij in nushell
programs.nushell.extraConfig = ''
# auto start zellij
# except when in emacs or zellij itself
if (not ("ZELLIJ" in $env)) and (not ("INSIDE_EMACS" in $env)) {
if "ZELLIJ_AUTO_ATTACH" in $env and $env.ZELLIJ_AUTO_ATTACH == "true" {
^zellij attach -c
} else {
^zellij
}
# Auto exit the shell session when zellij exit
$env.ZELLIJ_AUTO_EXIT = "false" # disable auto exit
if "ZELLIJ_AUTO_EXIT" in $env and $env.ZELLIJ_AUTO_EXIT == "true" {
exit
}
}
'';
# only works in bash/zsh, not nushell
home.shellAliases = shellAliases;
programs.nushell.shellAliases = shellAliases;
xdg.configFile."zellij/config.kdl".source = ./config.kdl;
}