{
  lib,
  pkgs,
  ...
} @ args:
with lib;
with (import ../helpers.nix {inherit lib;}).vim-plugin;
  mkVimPlugin args {
    name = "instant";
    description = "instant.nvim";
    package = pkgs.vimPlugins.instant-nvim;
    globalPrefix = "instant_";

    options = let
      mkStr = global: default: desc:
        mkDefaultOpt {
          inherit global;
          type = types.str;
          description = ''
            ${desc}

            Default: ${default}
          '';
        };
    in {
      username = mkDefaultOpt {
        type = types.str;
        description = ''
          Username.
          Explicitly set to `null` if you do not want this option to be set.
        '';
      };

      onlyCwd = mkDefaultOpt {
        type = types.bool;
        description = ''
          Choose whether to share files only in the current working directory in session mode.

          Default: `true`
        '';
      };

      cursorHlGroupUser1 = mkStr "cursor_hl_group_user_1" "Cursor" ''
        Cursor highlight group for user 1.
      '';

      cursorHlGroupUser2 = mkStr "cursor_hl_group_user_2" "Cursor" ''
        Cursor highlight group for user 2.
      '';

      cursorHlGroupUser3 = mkStr "cursor_hl_group_user_3" "Cursor" ''
        Cursor highlight group for user 3.
      '';

      cursorHlGroupUser4 = mkStr "cursor_hl_group_user_4" "Cursor" ''
        Cursor highlight group for user 4.
      '';

      cursorHlGroupDefault = mkStr "cursor_hl_group_default" "Cursor" ''
        Cursor highlight group for any other userr.
      '';

      nameHlGroupUser1 = mkStr "name_hl_group_user_1" "CursorLineNr" ''
        Virtual text highlight group for user 1.
      '';

      nameHlGroupUser2 = mkStr "name_hl_group_user_2" "CursorLineNr" ''
        Virtual text highlight group for user 2.
      '';

      nameHlGroupUser3 = mkStr "name_hl_group_user_3" "CursorLineNr" ''
        Virtual text highlight group for user 3.
      '';

      nameHlGroupUser4 = mkStr "name_hl_group_user_4" "CursorLineNr" ''
        Virtual text highlight group for user 4.
      '';

      nameHlGroupDefault = mkStr "name_hl_group_default" "CursorLineNr" ''
        Virtual text highlight group for any other user.
      '';
    };
  }