diff --git a/plugins/default.nix b/plugins/default.nix index ee9a4c1e..3322e19b 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -120,6 +120,7 @@ ./utils/coverage.nix ./utils/cursorline.nix ./utils/dashboard.nix + ./utils/direnv.nix ./utils/easyescape.nix ./utils/emmet.nix ./utils/endwise.nix diff --git a/plugins/utils/direnv.nix b/plugins/utils/direnv.nix new file mode 100644 index 00000000..8d149bdc --- /dev/null +++ b/plugins/utils/direnv.nix @@ -0,0 +1,33 @@ +{ + config, + helpers, + pkgs, + lib, + ... +}: +with lib; + helpers.vim-plugin.mkVimPlugin config { + name = "direnv"; + originalName = "direnv.vim"; + defaultPackage = pkgs.vimPlugins.direnv-vim; + globalPrefix = "direnv_"; + extraPackages = [pkgs.direnv]; + + maintainers = [helpers.maintainers.alisonjenkins]; + + settingsOptions = { + direnv_auto = helpers.defaultNullOpts.mkBool true '' + It will not execute :DirenvExport automatically if the value is false. Default: true. + ''; + + direnv_edit_mode = + helpers.defaultNullOpts.mkEnum ["edit" "split" "tabedit" "vsplit"] + "edit" '' + Select the command to open buffers to edit. Default: 'edit'. + ''; + + direnv_silent_load = helpers.defaultNullOpts.mkBool true '' + Stop echoing output from Direnv command. Default: true + ''; + }; + } diff --git a/tests/test-sources/plugins/utils/direnv.nix b/tests/test-sources/plugins/utils/direnv.nix new file mode 100644 index 00000000..c8f57d00 --- /dev/null +++ b/tests/test-sources/plugins/utils/direnv.nix @@ -0,0 +1,15 @@ +{ + empty = {plugins.direnv.enable = true;}; + + defaults = { + plugins.direnv = { + enable = true; + + settings = { + direnv_auto = false; + direnv_edit_mode = "vsplit"; + direnv_silent_load = false; + }; + }; + }; +}