nvim/init.lua

76 lines
1.9 KiB
Lua
Raw Normal View History

2023-02-19 23:01:47 +01:00
-- Set <space> as the leader key
-- WARN: Must happen before plugins are required (otherwise wrong leader will be used)
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-- Install package manager
-- https://github.com/folke/lazy.nvim
-- `:help lazy.nvim.txt` for more info
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)
2023-05-25 22:34:48 +02:00
require 'options'
require 'autocmd'
require 'keymaps'
2023-02-19 23:01:47 +01:00
require('lazy').setup({
{
-- NOTE: Theme
'sainnhe/gruvbox-material',
priority = 1000,
lazy = false,
config = function()
vim.g.gruvbox_material_background = 'soft'
vim.g.gruvbox_material_better_performance = 1
vim.g.gruvbox_material_enable_italic = 1
vim.cmd.colorscheme 'gruvbox-material'
end,
},
-- NOTE: First, some plugins that don't require any configuration
-- Git related plugins
'tpope/vim-fugitive',
'tpope/vim-rhubarb',
-- Detect tabstop and shiftwidth automatically
'tpope/vim-sleuth',
-- NOTE: Second, plugins that require setup call (done via opts)
-- Useful plugin to show you pending keybinds.
{ 'folke/which-key.nvim', opts = {} },
-- "gc" to comment visual regions/lines
{ 'numToStr/Comment.nvim', opts = {} },
-- colorize in files
{ 'norcalli/nvim-colorizer.lua', opts = {} },
-- autopairs on newline
{ 'windwp/nvim-autopairs', opts = {} },
-- highlighting for comments
{ 'folke/todo-comments.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} },
-- cargo crates
{ 'saecki/crates.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} },
-- import other plugins
2023-02-19 23:01:47 +01:00
{ import = 'plugins' },
}, {})
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et