-- Bootstrap lazy.nvim 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", lazypath, }) end vim.opt.rtp:prepend(lazypath) -- Configure lazy.nvim require("lazy").setup({ -- CtrlP fuzzy file finder { "kien/ctrlp.vim", config = function() vim.g.ctrlp_working_path_mode = 'ra' vim.g.ctrlp_show_hidden = 1 end, }, -- Lualine status line { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("lualine").setup({ options = { theme = "tokyonight", component_separators = { left = "", right = "" }, section_separators = { left = "", right = "" }, }, }) end, }, -- Git signs { "lewis6991/gitsigns.nvim", config = function() require("gitsigns").setup({ signs = { add = { text = "+" }, change = { text = "~" }, delete = { text = "_" }, topdelete = { text = "‾" }, changedelete = { text = "~" }, }, }) end, }, -- Indent guides { "lukas-reineke/indent-blankline.nvim", main = "ibl", config = function() require("ibl").setup({ indent = { char = "│", tab_char = "│", }, scope = { enabled = false }, }) end, }, -- Buffer line { "akinsho/bufferline.nvim", version = "*", dependencies = "nvim-tree/nvim-web-devicons", config = function() require("bufferline").setup({ options = { numbers = "none", close_command = "bdelete! %d", right_mouse_command = "bdelete! %d", left_mouse_command = "buffer %d", middle_mouse_command = nil, separator_style = "slant", always_show_bufferline = true, }, }) end, }, -- Tokyo Night colorscheme { "folke/tokyonight.nvim", lazy = false, priority = 1000, config = function() require("tokyonight").setup({ style = "night", light_style = "day", transparent = false, terminal_colors = true, }) vim.cmd.colorscheme("tokyonight") end, }, -- TODO comments highlighting { "folke/todo-comments.nvim", dependencies = "nvim-lua/plenary.nvim", config = function() require("todo-comments").setup() end, }, }, { -- Lazy.nvim configuration ui = { border = "none", size = { width = 0.8, height = 0.8, }, }, performance = { rtp = { disabled_plugins = { "gzip", "matchit", "matchparen", "netrwPlugin", "tarPlugin", "tohtml", "tutor", "zipPlugin", }, }, }, }) -- Basic Neovim settings vim.opt.number = true vim.opt.relativenumber = false vim.opt.expandtab = true vim.opt.shiftwidth = 2 vim.opt.tabstop = 2 vim.opt.smartindent = true vim.opt.wrap = false vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.termguicolors = true -- Enable syntax highlighting vim.cmd("syntax enable")