/astrocommunity

A community repository of common plugin specifications

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

AstroNvim Community Repository

AstroNvim's community repository contains plugin configuration specifications — a collection of plugins contributed by the community for AstroNvim, a NeoVim configuration. These specifications help manage the variety of plugins used in AstroNvim.

📦 Setup

To integrate the community plugins, add the provided configurations to your plugins setup. This can be done in your user/init.lua file or within a dedicated file in the user/plugins/ directory. If you're unfamiliar with these directories, we recommend referring to the AstroNvim documentation.

user/init.lua example

Integrate the following content within your user/init.lua:

return {
  plugins = {
    "AstroNvim/astrocommunity",
    { import = "astrocommunity.colorscheme.catppuccin" }
    -- ... import any community contributed plugins here
  }
}

user/plugins/community.lua example

If you prefer to separate your plugins in the user/plugins folder, consider creating a file named community.lua. All Lua files in this directory will be automatically loaded. Below is a comprehensive example:

return {
  "AstroNvim/astrocommunity",
  { import = "astrocommunity.pack.rust" },
  { import = "astrocommunity.colorscheme.nightfox-nvim", enabled = false },
  { import = "astrocommunity.colorscheme.kanagawa-nvim", enabled = true },
  { import = "astrocommunity.colorscheme.rose-pine" },
  { import = "astrocommunity.colorscheme.catppuccin" },
  { -- further customize the options set by the community
    "catppuccin",
    opts = {
      integrations = {
        sandwich = false,
        noice = true,
        mini = true,
        leap = true,
        markdown = true,
        neotest = true,
        cmp = true,
        overseer = true,
        lsp_trouble = true,
        rainbow_delimiters = true,
      },
    },
  },
  { import = "astrocommunity.completion.copilot-lua" },
  { -- further customize the options set by the community
    "zbirenbaum/copilot.lua",
    opts = {
      suggestion = {
        keymap = {
          accept = "<C-l>",
          accept_word = false,
          accept_line = false,
          next = "<C-.>",
          prev = "<C-,>",
          dismiss = "<C/>",
        },
      },
    },
  },
  { import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
  {
    "m4xshen/smartcolumn.nvim",
    opts = {
      colorcolumn = 120,
      disabled_filetypes = { "help" },
    },
  },
}

Notes:

  • To disable imports, set the enabled option to false. You have two approaches to modify an existing plugin: use the full repository name (e.g., "m4xshen/smartcolumn.nvim") or the module name (e.g., "catppuccin"). Remember, the module name might differ from the folder name.
  • It's recommended to use the full import path when customizing a plugin, and not the shorthand notation of just the repository name.

Contributing

If you've written a plugin configuration and wish to add it with the AstroCommunity repository, please follow our Contribution Guidelines and submit a pull request. Ensure you've rigorously tested your changes before submission. This isn't an official repository, so its stability relies on community contributions. We're excited to see how this project grows and evolves!