116 lines
2 KiB
Nix
116 lines
2 KiB
Nix
|
{ pkgs, ... }:
|
||
|
|
||
|
let
|
||
|
customPlugins = import ./plugins.nix { inherit pkgs; };
|
||
|
in
|
||
|
{
|
||
|
programs.neovim = {
|
||
|
enable = true;
|
||
|
package = pkgs.neovim-nightly;
|
||
|
|
||
|
extraConfig = ''
|
||
|
lua require('nix_init')
|
||
|
'';
|
||
|
|
||
|
extraPackages = with pkgs; [
|
||
|
tree-sitter
|
||
|
|
||
|
# LSP
|
||
|
efm-langserver
|
||
|
nodePackages.bash-language-server
|
||
|
nodePackages.dockerfile-language-server-nodejs
|
||
|
nodePackages.vscode-langservers-extracted
|
||
|
nodePackages.yaml-language-server
|
||
|
rnix-lsp
|
||
|
sqls
|
||
|
taplo-lsp
|
||
|
|
||
|
# LSP Tools
|
||
|
hadolint
|
||
|
shellcheck
|
||
|
shfmt
|
||
|
];
|
||
|
|
||
|
plugins = with customPlugins; [
|
||
|
# Fixes
|
||
|
impatient-nvim
|
||
|
FixCursorHold-nvim
|
||
|
vim-auto-cursorline
|
||
|
|
||
|
# Utils
|
||
|
popup-nvim
|
||
|
plenary-nvim
|
||
|
nvim-web-devicons
|
||
|
|
||
|
# Keybindings
|
||
|
which-key-nvim
|
||
|
|
||
|
# Themes
|
||
|
tokyonight-nvim
|
||
|
dracula-nvim
|
||
|
|
||
|
# Syntax
|
||
|
nvim-treesitter
|
||
|
playground
|
||
|
Jenkinsfile-vim-syntax
|
||
|
|
||
|
# Telescope
|
||
|
telescope-nvim
|
||
|
telescope-fzf-native-nvim
|
||
|
project-nvim
|
||
|
todo-comments-nvim
|
||
|
|
||
|
# LSP
|
||
|
nvim-lspconfig
|
||
|
lsp-trouble-nvim
|
||
|
lspkind-nvim
|
||
|
lsp-status-nvim
|
||
|
vim-illuminate
|
||
|
|
||
|
# cmp
|
||
|
nvim-cmp
|
||
|
cmp-nvim-lsp
|
||
|
LuaSnip
|
||
|
cmp_luasnip
|
||
|
cmp-nvim-lua
|
||
|
cmp-path
|
||
|
cmp-buffer
|
||
|
cmp-treesitter
|
||
|
cmp-cmdline
|
||
|
cmp-nvim-lsp-document-symbol
|
||
|
|
||
|
# Pairs
|
||
|
nvim-autopairs
|
||
|
nvim-ts-autotag
|
||
|
vim-matchup
|
||
|
|
||
|
# Comments
|
||
|
Comment-nvim
|
||
|
|
||
|
# Textobjects
|
||
|
nvim-treesitter-textobjects
|
||
|
surround-nvim
|
||
|
|
||
|
# UI
|
||
|
undotree
|
||
|
lualine-nvim
|
||
|
nvim-bufferline-lua
|
||
|
nvim-tree-lua
|
||
|
indent-blankline-nvim
|
||
|
virt-column-nvim
|
||
|
nvim-colorizer-lua
|
||
|
gitsigns-nvim
|
||
|
spellsitter-nvim
|
||
|
nvim-notify
|
||
|
nvim-visual-eof-lua
|
||
|
FTerm-nvim
|
||
|
editorconfig-vim
|
||
|
];
|
||
|
};
|
||
|
|
||
|
xdg.configFile.nvim = {
|
||
|
source = ../../config/nvim;
|
||
|
recursive = true;
|
||
|
};
|
||
|
}
|