mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-01-11 12:30:23 +01:00
39 lines
999 B
Nix
39 lines
999 B
Nix
{ pkgs, ... }:
|
|
let
|
|
shellAliases = {
|
|
"zj" = "zellij";
|
|
};
|
|
in
|
|
{
|
|
programs.zellij = {
|
|
enable = true;
|
|
package = pkgs.zellij;
|
|
};
|
|
xdg.configFile."zellij/config.kdl".source = ./config.kdl;
|
|
# Disable catppuccin to avoid conflict with my non-nix config.
|
|
catppuccin.zellij.enable = false;
|
|
|
|
# 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;
|
|
}
|