{pkgs, ...}: {
  programs.neovim = {
    enable = true;

    plugins = with pkgs.vimPlugins; [
      (nvim-treesitter.withPlugins (
        plugins:
          with plugins; [
            #tree-sitter-nix
            tree-sitter-go
            tree-sitter-c
            tree-sitter-rust
            tree-sitter-vim
            tree-sitter-lua
            tree-sitter-python
            tree-sitter-html
            tree-sitter-json
            tree-sitter-markdown
            tree-sitter-javascript
            tree-sitter-typescript
          ]
      ))
      vim-nix

      nvim-lspconfig
    ];
    viAlias = true;
    vimAlias = true;
  };
}
