diff --git a/plugins/default.nix b/plugins/default.nix index 643b839d..abfb3b22 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -190,6 +190,7 @@ ./utils/which-key.nix ./utils/wilder.nix ./utils/yanky.nix + ./utils/zellij.nix ./utils/zk.nix ]; } diff --git a/plugins/utils/zellij.nix b/plugins/utils/zellij.nix new file mode 100644 index 00000000..7bc52b81 --- /dev/null +++ b/plugins/utils/zellij.nix @@ -0,0 +1,39 @@ +{ + lib, + helpers, + config, + pkgs, + ... +}: +helpers.neovim-plugin.mkNeovimPlugin config { + name = "zellij"; + originalName = "zellij.nvim"; + defaultPackage = pkgs.vimPlugins.zellij-nvim; + + maintainers = [lib.maintainers.hmajid2301]; + + settingsOptions = { + path = helpers.defaultNullOpts.mkStr "zellij" '' + Path to the zellij binary. + ''; + + replaceVimWindowNavigationKeybinds = helpers.defaultNullOpts.mkBool false '' + Will set keybinds like `h` to left. + ''; + + vimTmuxNavigatorKeybinds = helpers.defaultNullOpts.mkBool false '' + Will set keybinds like `` to left. + ''; + + debug = helpers.defaultNullOpts.mkBool false '' + Will log things to `/tmp/zellij.nvim`. + ''; + }; + + settingsExample = { + path = "zellij"; + replaceVimWindowNavigationKeybinds = true; + vimTmuxNavigatorKeybinds = false; + debug = true; + }; +} diff --git a/tests/test-sources/plugins/utils/zellij.nix b/tests/test-sources/plugins/utils/zellij.nix new file mode 100644 index 00000000..e48fa196 --- /dev/null +++ b/tests/test-sources/plugins/utils/zellij.nix @@ -0,0 +1,18 @@ +{ + empty = { + plugins.zellij.enable = true; + }; + + defaults = { + plugins.zellij = { + enable = true; + + settings = { + path = "zellij"; + replaceVimWindowNavigationKeybinds = false; + vimTmuxNavigatorKeybinds = false; + debug = false; + }; + }; + }; +}