diff --git a/configuration.nix b/configuration.nix index 594e292f..ad5455cb 100644 --- a/configuration.nix +++ b/configuration.nix @@ -175,6 +175,7 @@ isMaximal: { icon-picker.enable = isMaximal; surround.enable = isMaximal; diffview-nvim.enable = true; + visual-multi.enable = isMaximal; yanky-nvim.enable = false; motion = { hop.enable = true; diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 65ef8680..e3546142 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -13,6 +13,7 @@ ./preview ./surround ./telescope + ./visual-multi ./wakatime ./yanky-nvim ]; diff --git a/modules/plugins/utility/visual-multi/config.nix b/modules/plugins/utility/visual-multi/config.nix new file mode 100644 index 00000000..2b4e817d --- /dev/null +++ b/modules/plugins/utility/visual-multi/config.nix @@ -0,0 +1,15 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.visual-multi; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = [pkgs.vimPlugins.vim-visual-multi]; + }; + }; +} diff --git a/modules/plugins/utility/visual-multi/default.nix b/modules/plugins/utility/visual-multi/default.nix new file mode 100644 index 00000000..7986f4c8 --- /dev/null +++ b/modules/plugins/utility/visual-multi/default.nix @@ -0,0 +1,6 @@ +_: { + imports = [ + ./vim-visual-multi.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/visual-multi/vim-visual-multi.nix b/modules/plugins/utility/visual-multi/vim-visual-multi.nix new file mode 100644 index 00000000..44c1b58a --- /dev/null +++ b/modules/plugins/utility/visual-multi/vim-visual-multi.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.visual-multi = { + enable = mkEnableOption "visual-multi.nvim plugin (multiple cursors)"; + }; +}