Skip to content

Mason doesn't load even though it's not set to load in a lazy way. #1927

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4r73m190r0s opened this issue May 7, 2025 · 3 comments
Open

Comments

@4r73m190r0s
Copy link

My mason.lua file that lazy.nvim loads:

return { 
  "mason-org/mason.nvim"

  -- Adding any of these lines, or both of then, does not solve the issue
  cmd = "Mason", 
  lazy = false, 
}

My lazy config

-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
  local lazyrepo = "https://github.com/folke/lazy.nvim.git"
  local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
  if vim.v.shell_error ~= 0 then
    vim.api.nvim_echo({
      { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
      { out, "WarningMsg" },
      { "\nPress any key to exit..." },
    }, true, {})
    vim.fn.getchar()
    os.exit(1)
  end
end
vim.opt.rtp:prepend(lazypath)

-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"

-- Setup lazy.nvim
require("lazy").setup({
  spec = {
    -- import your plugins
    { import = "plugins" },
  },
  -- Configure any other settings here. See the documentation for more details.
  -- colorscheme that will be used when installing plugins.
  install = { colorscheme = { "habamax" } },
  -- automatically check for plugin updates
  checker = { enabled = true },
})
@williamboman
Copy link
Member

Have you called require("mason").setup() anywhere? It's required for Mason to work, see https://github.com/mason-org/mason.nvim?tab=readme-ov-file#setup.

I think the common way of doing this in lazy.vim is something like:

return { 
  "mason-org/mason.nvim"
  opts = {},
  lazy = false, 
}

@4r73m190r0s
Copy link
Author

I have not called require("mason").setup() anywhere, as it was not mentioned in the Installation.

I configured my mason.lua that lazy.nvim loads like this, and it worked;

return { 
  "mason-org/mason.nvim",
  config = true
}

config is executed when the plugin loads. The default implementation will automatically run require(MAIN).setup(opts) if opts or config = true is set.

https://lazy.folke.io/spec

@williamboman
Copy link
Member

Ah ok I see. Yeah the example for lazy.nvim should probably include config = true, my idea was to allow people to decide themselves where and how they eventually set up the plugin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants