-
Notifications
You must be signed in to change notification settings - Fork 13
/
lazyconfig.lua
122 lines (110 loc) · 3.43 KB
/
lazyconfig.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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)
-- installs to ~/.local/share/nvim/lazy/
require("lazy").setup({
spec = {
"neovim/nvim-lspconfig",
"junegunn/goyo.vim", -- focus mode
"kyazdani42/nvim-web-devicons", -- fancy icons
"hashivim/vim-terraform", -- terraform highlighting
"elixir-editors/vim-elixir", -- elixir highlighting
"ziglang/zig.vim", -- zig highlighting
"cappyzawa/starlark.vim", -- starlark highlighting
"gpanders/editorconfig.nvim", -- .editorconfig reading
"tpope/vim-dadbod", -- query databases
"lewis6991/gitsigns.nvim", -- git gutter signs
"preservim/vim-markdown", -- markdown mode: fenced code blocks etc
"nvim-treesitter/nvim-treesitter", -- treesitter modules
-- scope highlighting
{ "lukas-reineke/indent-blankline.nvim", main = "ibl", opts = {} },
-- handy lua functions for nvim; required for telescope.vim
"nvim-telescope/telescope-fzf-native.nvim", -- fancy fuzzy finder
{
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
-- better file name matching for telescope
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
},
},
-- install nvim-cmp, for code completion
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
-- I don't use snippets or know what they are, but nvim-cmp
-- requires this, so whatever I guess
"hrsh7th/cmp-vsnip",
"hrsh7th/vim-vsnip",
},
},
-- otter.nvim for autocomplete in nvim code blocks
{
"jmbuhr/otter.nvim",
dependencies = {
"hrsh7th/nvim-cmp",
"neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter",
},
},
-- colorschemes
"sainnhe/everforest",
-- https://github.com/Shatur/neovim-ayu
-- is a neovim rewrite of
-- https://github.com/ayu-theme/ayu-vim
"Shatur/neovim-ayu",
-- interesting looking one, nordic:
-- https://github.com/AlexvZyl/nordic.nvim
"AlexvZyl/nordic.nvim",
"folke/tokyonight.nvim",
"sainnhe/sonokai",
"projekt0n/github-nvim-theme",
"llimllib/lilium",
{ dir = "~/code/adhoc-nvim-colors" },
-- /colorschemes
-- includes a whole bunch of stuff, I'm using it for base16 experiments
-- at the moment. List of included modules:
-- https://github.com/echasnovski/mini.nvim/tree/main#modules
"echasnovski/mini.nvim",
-- Use Neovim as a language server to inject LSP diagnostics, code
-- actions, and more via Lua.
--
-- allows you to run command line programs like gofmt as if they were
-- LSP servers
{
"nvimtools/none-ls.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
},
-- hex colors
{
"norcalli/nvim-colorizer.lua",
config = function()
require("colorizer").setup()
end,
},
},
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 the
-- plugin that support versioning, have outdated releases, which may
-- break your Neovim install.
version = false,
},
})