97 lines
2.2 KiB
Nix
97 lines
2.2 KiB
Nix
{ config, lib, pkgs, user, ... }:
|
|
|
|
{
|
|
home.packages = with pkgs; [
|
|
xclip
|
|
# LSP
|
|
sumneko-lua-language-server
|
|
rnix-lsp
|
|
terraform-ls
|
|
tflint
|
|
nodePackages.bash-language-server
|
|
rust-analyzer
|
|
nodePackages.yaml-language-server
|
|
];
|
|
|
|
programs = {
|
|
neovim = {
|
|
enable = true;
|
|
plugins = with pkgs.vimPlugins; [
|
|
# theme
|
|
nvim-solarized-lua
|
|
|
|
delimitMate
|
|
vim-bbye
|
|
ansible-vim
|
|
|
|
# session handling
|
|
vim-obsession
|
|
vim-prosession
|
|
|
|
nvim-treesitter
|
|
markdown-preview-nvim # use({ "iamcco/markdown-preview.nvim", run = ":call mkdp#util#install()" })
|
|
toggleterm-nvim
|
|
nvim-notify
|
|
comment-nvim
|
|
lualine-nvim
|
|
tabline-nvim
|
|
indent-blankline-nvim
|
|
plenary-nvim
|
|
vim-illuminate
|
|
registers-nvim
|
|
|
|
# git
|
|
gitsigns-nvim
|
|
vim-fugitive
|
|
gv-vim
|
|
|
|
# snippets
|
|
friendly-snippets
|
|
luasnip
|
|
|
|
# auto-completion
|
|
nvim-cmp
|
|
cmp-nvim-lsp
|
|
cmp-buffer
|
|
cmp-path
|
|
cmp-cmdline
|
|
cmp-nvim-lua
|
|
cmp_luasnip
|
|
cmp-calc
|
|
|
|
# telescope
|
|
telescope-nvim
|
|
telescope-fzf-native-nvim
|
|
telescope-ui-select-nvim
|
|
|
|
# LSP
|
|
nvim-lspconfig
|
|
lsp-status-nvim
|
|
rust-tools-nvim
|
|
lua-dev-nvim
|
|
];
|
|
|
|
extraConfig = ''
|
|
lua << EOF
|
|
${builtins.readFile ./keymaps.lua }
|
|
${builtins.readFile ./options.lua }
|
|
${builtins.readFile ./treesitter.lua }
|
|
${builtins.readFile ./lspconfig.lua }
|
|
${builtins.readFile ./toggleterm.lua }
|
|
${builtins.readFile ./notify.lua }
|
|
${builtins.readFile ./comment.lua }
|
|
${builtins.readFile ./lualine.lua }
|
|
${builtins.readFile ./tabline.lua }
|
|
${builtins.readFile ./indent-blankline.lua }
|
|
${builtins.readFile ./gitsigns.lua }
|
|
${builtins.readFile ./luasnip.lua }
|
|
${builtins.readFile ./nvim-cmp.lua }
|
|
${builtins.readFile ./telescope.lua }
|
|
${builtins.readFile ./themes.lua }
|
|
EOF
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
|