-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplugins.nix
163 lines (136 loc) · 3.44 KB
/
plugins.nix
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
{
stdenv,
banner,
lib,
vimPlugins,
writeText,
unstable,
bannerPalette ? "./default-palette.yaml",
minimal,
...
}: (with vimPlugins;
[
# the lua in this directory is a plugin in itself
(stdenv.mkDerivation {
name = "nvim-config";
src = ./lua;
installPhase = let
inherit (banner.lib.util) removeMeta;
inherit (lib) attrsets;
palette =
if builtins.typeOf bannerPalette == "set"
then bannerPalette
else banner.lib.parsers.basicYamlToBanner bannerPalette;
lualines =
attrsets.mapAttrsToList
(name: value: "${builtins.replaceStrings ["-"] ["_"] name} = \"#${value}\",")
(removeMeta palette);
color-lua = writeText "color.lua" ''
return {
${builtins.concatStringsSep "\n" lualines}
}
'';
in ''
mkdir -p $out/lua
mv * $out/lua
cp ${color-lua} $out/lua/settings/color-palette.lua
'';
})
base16-nvim
comment-nvim
todo-comments-nvim
# (pkgs.${system}.vimPlugins.nvim-treesitter.withPlugins
# (_: pkgs.${system}.tree-sitter.allGrammars))
(nvim-treesitter.withPlugins (plugins:
# with pkgs-old.${system}.tree-sitter-grammars; [
(with plugins;
[
tree-sitter-yaml
tree-sitter-toml
tree-sitter-regex
tree-sitter-python
tree-sitter-nix
tree-sitter-markdown
tree-sitter-make
tree-sitter-json
tree-sitter-dockerfile
tree-sitter-comment
tree-sitter-cmake
tree-sitter-c
tree-sitter-cpp
tree-sitter-bash
]
++ (lib.lists.optionals (!minimal) (with plugins; [
tree-sitter-godot-resource
tree-sitter-rust
tree-sitter-scss
tree-sitter-lua
tree-sitter-css
tree-sitter-javascript
tree-sitter-java
tree-sitter-glsl
tree-sitter-gdscript
tree-sitter-c-sharp
tree-sitter-norg
# tree-sitter-org-nvim
tree-sitter-zig
])))))
rainbow-delimiters-nvim
vim-glsl
nvim-tree-lua
telescope-file-browser-nvim
nvim-web-devicons
gitsigns-nvim
bufferline-nvim
vim-qml
editorconfig-nvim
vim-surround # surround-nvim is rewrite, figure that out
vim-indent-object
vim-repeat
# look into substitute.nvim
vim-textobj-comment
vim-textobj-entire
vim-textobj-function
vim-textobj-user
# look into vim-textobj-line
nvim-colorizer-lua
telescope-fzf-native-nvim
# look into lorem.nvim
nvim-cmp
cmp-nvim-lsp
cmp-path # cmp-fuzzy-path
cmp-buffer # cmp-fuzzy-buffer
cmp-cmdline # cmp-cmdline-history
nvim-lspconfig
none-ls-nvim
friendly-snippets
popup-nvim
plenary-nvim
# helps nesting to look better
indent-blankline-nvim
]
++ (lib.lists.optionals (!minimal) (with vimPlugins; [
cmp_luasnip
luasnip
cmp-nvim-lua
# nice way of displaying multiple diagnostics on a single line
lsp_lines-nvim
zen-mode-nvim
twilight-nvim
unstable.vimPlugins.yuck-vim
# writing plugins
thesaurus_query-vim
vim-table-mode
# orgmode
# neorg
# neorg-telescope
# color scheme dev
lush-nvim
# nim
nim-vim
nvim-dap
# better csharp support
omnisharp-extended-lsp-nvim
# java ls
nvim-jdtls
])))