59 lines
1.6 KiB
Nix
59 lines
1.6 KiB
Nix
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
|
|
{
|
|
|
|
home.packages = with pkgs; [
|
|
# Language servers
|
|
clang-tools # C, C++, Objective C/C++, OpenCL, CUDA, and RenderScript
|
|
haskell-language-server # Haskell
|
|
# lua-language-server # Lua
|
|
nil # Nix
|
|
];
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
package = pkgs.neovim-unwrapped;
|
|
plugins = with pkgs.vimPlugins; [
|
|
# Install all grammar packages
|
|
# nvim-treesitter.withAllGrammars
|
|
|
|
# Or specific grammar packages only
|
|
(nvim-treesitter.withPlugins (p: [
|
|
p.c
|
|
p.lua
|
|
p.nix
|
|
]))
|
|
|
|
# Quality of Life Enhancements
|
|
comment-nvim # Smart and powerful commenting
|
|
|
|
# User Interface
|
|
gruvbox-material # Theme
|
|
dashboard-nvim # Start screen
|
|
nvim-tree-lua # File explorer
|
|
lualine-nvim # Statusline
|
|
|
|
# Git Integration
|
|
vim-fugitive # Call any arbitary git command
|
|
gitsigns-nvim # Git decorations
|
|
|
|
# Autocompletion
|
|
nvim-lspconfig # Collection of configurations for built-in LSP client
|
|
nvim-cmp # Autocompletion plugin
|
|
cmp-nvim-lsp # LSP source for nvim-cmp
|
|
cmp_luasnip # Snippets source for nvim-cmp
|
|
luasnip # Snippets plugin
|
|
|
|
# Misc
|
|
vim-shellcheck # Static analysis tool for shell scripts
|
|
markdown-preview-nvim # Preview markdown in browser
|
|
|
|
# Dependencies
|
|
nvim-web-devicons # Provides icons
|
|
];
|
|
};
|
|
|
|
xdg.configFile.nvim = { source = ./config; recursive = true; };
|
|
|
|
}
|