local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) plugins = { 'f-person/git-blame.nvim', { 'windwp/nvim-autopairs', event = 'InsertEnter', config = function () require('nvim-autopairs').setup{} end }, { 'windwp/nvim-ts-autotag', config = function () require('nvim-ts-autotag').setup() end }, { 'williamboman/mason.nvim', config = function() require('mason').setup() end }, { 'neovim/nvim-lspconfig', config = function() local configs = require('lspconfig') configs.lua_ls.setup{} configs.pyright.setup{} end }, { 'hrsh7th/nvim-cmp', config = function() require('luasnip.loaders.from_vscode').lazy_load() local cmp = require('cmp') cmp.setup({ snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end }, mapping = cmp.mapping.preset.insert ({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), }), sources = cmp.config.sources({ {name = 'nvim_lsp'}, {name = 'luasnip'}, {name = 'buffer'} }), }) end, dependencies = { {'hrsh7th/cmp-nvim-lsp'}, {'saadparwaiz1/cmp_luasnip'}, {'rafamadriz/friendly-snippets'}, {'L3MON4D3/LuaSnip'} } }, { 'maxmx03/dracula.nvim', lazy = false, config = function () local dracula = require 'dracula' dracula.setup() vim.cmd.colorscheme 'dracula' end }, { 'nvimdev/dashboard-nvim', event = 'VimEnter', config = function () require('dashboard').setup{ theme = "hyper" } end, dependencies = {{'nvim-tree/nvim-web-devicons'}} }, { 'romgrk/barbar.nvim', init = function() vim.g.barbar_autosetup = false require('barbar').setup { auto_hide = 1 } end, dependencies = { 'lewis6991/gitsigns.nvim', 'nvim-tree/nvim-web-devicons', }, }, { 'NTBBloodbath/galaxyline.nvim', config = function() require('galaxyline.themes.eviline') end, dependencies = {{'nvim-tree/nvim-web-devicons'}}, }, { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function () local configs = require("nvim-treesitter.configs") configs.setup({ ensure_installed = { "c", "rust", "lua", "vim", "vimdoc", "javascript", "html", "astro" }, sync_install = false, highlight = { enable = true }, indent = { enable = true }, }) end }, { "lukas-reineke/indent-blankline.nvim", config = function() configs = require('ibl').setup({ indent = { char = "│" }, scope = { show_start = false, } }) end }, { }, } require("lazy").setup(plugins) if vim.g.neovide == true then vim.api.nvim_set_keymap('n', "", ":let g:neovide_fullscreen = !g:neovide_fullscreen", {}) end vim.opt.smarttab = true vim.opt.expandtab = true vim.opt.shiftwidth = 2 vim.opt.guifont = "victor mono:h11"