return {

    {
        "nvim-treesitter/nvim-treesitter",
        event = { "BufReadPre", "BufNewFile" },
        config = function()
            require("configs.treesitter")
        end,
    },

    {
        "mfussenegger/nvim-lint",
        event = { "BufReadPre", "BufNewFile" },
        config = function()
            require("configs.lint")
        end,
    },

    -- {
    --     "rshkarin/mason-nvim-lint",
    --     event = "VeryLazy",
    --     config = function()
    --         require("config.mason-lint")
    --     end,
    -- },

    {
        "stevearc/conform.nvim",
        event = "BufWritePre", -- uncomment for format on save
        opts = require("configs.conform"),
    },

    {
        "zapling/mason-conform.nvim",
        event = "VeryLazy",
        dependencies = { "conform.nvim" },
        config = function()
            require("configs.mason-conform")
        end,
    },

    {
        "neovim/nvim-lspconfig",
        event = { "BufReadPre", "BufNewFile" },
        config = function()
            require("nvchad.configs.lspconfig").defaults()
            require("configs.lspconfig")
        end,
    },

    {
        "williamboman/mason-lspconfig.nvim",
        event = "VeryLazy",
        dependencies = { "nvim-lspconfig" },
        config = function()
            require("configs.mason-lspconfig")
        end,
    },

    {
        "salkin-mada/openscad.nvim",
        config = function()
            vim.g.openscad_load_snippets = true
            vim.g.openscad_default_mappings = true
            vim.g.openscad_auto_open = true
            require("openscad")
        end,
        dependencies = { "L3MON4D3/LuaSnip", "junegunn/fzf.vim" },
    },
}