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:
Erik Krieg 2023-05-11 15:25:46 -04:00 committed by GitHub
parent d97e8f8861
commit cc9f65d104
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1 @@
{ zellij-enable-shells = ./enable-shells.nix; }

View file

@ -0,0 +1,37 @@
{ lib, ... }:
{
programs = {
# All shell integratons are enabled by default.
zellij.enable = true;
bash.enable = true;
zsh.enable = true;
fish.enable = true;
};
# Needed to avoid error with dummy fish package.
xdg.dataFile."fish/home-manager_generated_completions".source =
lib.mkForce (builtins.toFile "empty" "");
test.stubs = {
zsh = { };
zellij = { };
};
nmt.script = ''
assertFileExists home-files/.bashrc
assertFileContains \
home-files/.bashrc \
'eval "$(zellij setup --generate-auto-start bash)"'
assertFileExists home-files/.zshrc
assertFileContains \
home-files/.zshrc \
'eval "$(zellij setup --generate-auto-start zsh)"'
assertFileExists home-files/.config/fish/config.fish
assertFileContains \
home-files/.config/fish/config.fish \
'eval (zellij setup --generate-auto-start fish | string collect)'
'';
}