-- NeoVim Configuration -- Detect OS if vim.fn.exists("g:os") == 0 then local is_windows = vim.fn.has("win64") == 1 or vim.fn.has("win32") == 1 or vim.fn.has("win16") == 1 if is_windows then vim.g.os = "Windows" else if vim.fn.system("uname -a"):lower():find "microsoft" then vim.g.os = "Wsl" else vim.g.os, _ = string.gsub(vim.fn.system("uname"), "\n", "") end end end -- Set leader key to vim.g.mapleader = " " -- Base initial configs require("configs") -- 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) -- Setup lazy.nvim require("lazy").setup({ spec = { { import = "plugins" }, }, install = { colorscheme = { "catppuccin" }, }, ui = { border = "rounded", }, }) -- Mappings require("mappings")