mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 13:25:16 +00:00
docs(v3.5.0): update README for integrated mg_dotfiles and security improvements
- Integrated mg_dotfiles as regular directory (not submodule) - Added .zshrc.local.example template for local configs without secrets - Added mg_dotfiles/zsh/.zshrc.local to .gitignore to protect API keys - Updated README to reflect mg_dotfiles integration and new structure - Added nvim configuration directory with LazyVim setup
This commit is contained in:
107
mg_dotfiles/nvim/lua/config/lazy.lua
Normal file
107
mg_dotfiles/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,107 @@
|
||||
-- This file contains the configuration for setting up the lazy.nvim plugin manager in Neovim.
|
||||
|
||||
-- Node.js configuration - always use latest stable version
|
||||
vim.g.node_host_prog = vim.fn.exepath("node") or "/usr/local/bin/node"
|
||||
|
||||
-- Spell-checking
|
||||
vim.opt.spell = true -- activa spell checker
|
||||
vim.opt.spelllang = { "en" }
|
||||
|
||||
-- Define the path to the lazy.nvim plugin
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
|
||||
-- Check if the lazy.nvim plugin is not already installed
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- Bootstrap lazy.nvim by cloning the repository
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable",
|
||||
lazypath })
|
||||
end
|
||||
|
||||
-- Prepend the lazy.nvim path to the runtime path
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
|
||||
-- Fix copy and paste in WSL (Windows Subsystem for Linux)
|
||||
vim.opt.clipboard = "unnamedplus" -- Use the system clipboard for all operations
|
||||
if vim.fn.has("wsl") == 1 then
|
||||
vim.g.clipboard = {
|
||||
name = "win32yank", -- Use win32yank for clipboard operations
|
||||
copy = {
|
||||
["+"] = "win32yank.exe -i --crlf", -- Command to copy to the system clipboard
|
||||
["*"] = "win32yank.exe -i --crlf", -- Command to copy to the primary clipboard
|
||||
},
|
||||
paste = {
|
||||
["+"] = "win32yank.exe -o --lf", -- Command to paste from the system clipboard
|
||||
["*"] = "win32yank.exe -o --lf", -- Command to paste from the primary clipboard
|
||||
},
|
||||
cache_enabled = false, -- Disable clipboard caching
|
||||
}
|
||||
end
|
||||
|
||||
-- Setup lazy.nvim with the specified configuration
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- Add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- Import any extra modules here
|
||||
-- Editor plugins
|
||||
{ import = "lazyvim.plugins.extras.editor.harpoon2" },
|
||||
{ import = "lazyvim.plugins.extras.editor.mini-files" },
|
||||
-- { import = "lazyvim.plugins.extras.editor.snacks_explorer" },
|
||||
{ import = "lazyvim.plugins.extras.editor.snacks_picker" },
|
||||
|
||||
-- Debgugging plugins
|
||||
{ import = "lazyvim.plugins.extras.dap.core" },
|
||||
|
||||
-- Formatting plugins
|
||||
{ import = "lazyvim.plugins.extras.formatting.biome" },
|
||||
{ import = "lazyvim.plugins.extras.formatting.prettier" },
|
||||
|
||||
-- Linting plugins
|
||||
{ import = "lazyvim.plugins.extras.linting.eslint" },
|
||||
|
||||
-- Language support plugins
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
{ import = "lazyvim.plugins.extras.lang.markdown" },
|
||||
|
||||
-- Coding plugins
|
||||
{ import = "lazyvim.plugins.extras.coding.mini-surround" },
|
||||
{ import = "lazyvim.plugins.extras.editor.mini-diff" },
|
||||
{ import = "lazyvim.plugins.extras.coding.blink" },
|
||||
|
||||
-- Utility plugins
|
||||
{ import = "lazyvim.plugins.extras.util.mini-hipatterns" },
|
||||
|
||||
-- AI plugins
|
||||
{ import = "lazyvim.plugins.extras.ai.copilot" },
|
||||
|
||||
-- Import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot of the plugins that support versioning
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- Always use the latest git commit
|
||||
-- version = "*", -- Try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } }, -- Specify colorschemes to install
|
||||
checker = { enabled = true }, -- Automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- Disable some runtime path plugins to improve performance
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user