zellij: adds options to integrate with zsh, bash and fish shells (#3926)
* zellij: adds options to integrate with zsh, bash and fish shells * zellij: add tests for shell integration options * zellij: eval setup auto start for fish integration * zellij: use interactiveShellInit for fish integration * zellij: fixes format issues * zellij: enable shell integrations by default * zellij: compresses shell integration test cases * zellij: removes the disabled shell integration tests * zellij: formats tests
This commit is contained in:
parent
d97e8f8861
commit
cc9f65d104
4 changed files with 64 additions and 0 deletions
|
|
@ -39,6 +39,18 @@ in {
|
|||
list of options.
|
||||
'';
|
||||
};
|
||||
|
||||
enableBashIntegration = mkEnableOption "Enable Bash integration." // {
|
||||
default = true;
|
||||
};
|
||||
|
||||
enableZshIntegration = mkEnableOption "Enable Zsh integration." // {
|
||||
default = true;
|
||||
};
|
||||
|
||||
enableFishIntegration = mkEnableOption "Enable Fish integration." // {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
@ -55,5 +67,18 @@ in {
|
|||
(cfg.settings != { } && (versionAtLeast cfg.package.version "0.32.0")) {
|
||||
text = lib.hm.generators.toKDL { } cfg.settings;
|
||||
};
|
||||
|
||||
programs.bash.initExtra = mkIf cfg.enableBashIntegration (mkOrder 200 ''
|
||||
eval "$(zellij setup --generate-auto-start bash)"
|
||||
'');
|
||||
|
||||
programs.zsh.initExtra = mkIf cfg.enableZshIntegration (mkOrder 200 ''
|
||||
eval "$(zellij setup --generate-auto-start zsh)"
|
||||
'');
|
||||
|
||||
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration
|
||||
(mkOrder 200 ''
|
||||
eval (zellij setup --generate-auto-start fish | string collect)
|
||||
'');
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue