mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 21:35:16 +00:00
- 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
108 lines
3.9 KiB
Lua
108 lines
3.9 KiB
Lua
-- 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",
|
|
},
|
|
},
|
|
},
|
|
})
|