1
0
Fork 0
dotfiles/programs/nvim/default.nix

121 lines
2.1 KiB
Nix
Raw Normal View History

2021-12-06 22:35:29 +00:00
{ pkgs, ... }:
let
customPlugins = import ./plugins.nix { inherit pkgs; };
in
{
programs.neovim = {
enable = true;
package = pkgs.neovim-nightly;
withNodeJs = false;
withRuby = false;
withPython3 = false;
2021-12-06 22:35:29 +00:00
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
FixCursorHold-nvim
vim-auto-cursorline
# Utils
popup-nvim
plenary-nvim
nvim-web-devicons
# Keybindings
which-key-nvim
2021-12-07 20:59:18 +00:00
{ plugin = vim-yoink; optional = true; }
{ plugin = vim-cutlass; optional = true; }
2021-12-07 22:01:39 +00:00
{ plugin = vim-subversive; optional = true; }
2021-12-06 22:35:29 +00:00
# Themes
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;
};
}