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
|
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
withNodeJs = true;
plugins = [];
extraLuaConfig = ''
-- LazyVim bootstrap
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)
require("lazy").setup({
spec = {
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "lazyvim.plugins.extras.lang.tex" },
{ import = "lazyvim.plugins.extras.lang.markdown" },
{ import = "lazyvim.plugins.extras.ui.mini-animate" },
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.python" },
{ import = "lazyvim.plugins.extras.lang.rust" },
{ import = "lazyvim.plugins.extras.lang.nix" },
{
"lervag/vimtex",
lazy = false,
init = function()
vim.g.vimtex_view_method = "zathura"
end
},
{
"MeanderingProgrammer/render-markdown.nvim",
opts = {
enabled = true,
file_types = { "markdown", "rmd" },
colorscheme = "default",
},
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons",
},
},
{ "mracos/mermaid.vim", ft = { "mermaid" } },
},
defaults = { lazy = false, version = false },
checker = { enabled = true },
performance = {
rtp = {
disabled_plugins = {
"gzip", "tarPlugin", "tohtml",
"tutor", "zipPlugin",
},
},
},
})
-- LaTeX wrapping
vim.api.nvim_create_autocmd("FileType", {
pattern = "tex",
callback = function()
vim.opt_local.wrap = true
vim.opt_local.linebreak = true
vim.opt_local.breakindent = true
vim.opt_local.breakindentopt = "shift:2"
vim.opt_local.textwidth = 0
end,
})
-- Disable diagnostics in markdown
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
callback = function()
vim.diagnostic.disable(0)
end,
})
-- Nix LSP
local lspconfig = require("lspconfig")
lspconfig.nil_ls.setup({ cmd = { "nil" } })
vim.opt.clipboard = "unnamedplus"
'';
};
}
|