Evie Litherland-Smith
01ea9bc452
Update lualine config If on nix, auto install all treesitter parsers
64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
{
|
|
description = "Personal NeoVim configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
neovim-nightly-overlay = {
|
|
url = "github:nix-community/neovim-nightly-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {neovim-nightly-overlay, ...}: let
|
|
extraPackages = {pkgs, ...}:
|
|
with pkgs; [
|
|
# Misc utils
|
|
curl
|
|
fzf
|
|
git
|
|
gnutar
|
|
gnumake
|
|
gnused
|
|
gcc
|
|
ripgrep
|
|
tree-sitter
|
|
|
|
# Language servers
|
|
nil
|
|
lua-language-server
|
|
fortls
|
|
nodePackages.pyright
|
|
nodePackages.yaml-language-server
|
|
nodePackages.vim-language-server
|
|
nodePackages.bash-language-server
|
|
|
|
# Null LSP formatters
|
|
alejandra
|
|
beautysh
|
|
black
|
|
nodePackages.fixjson
|
|
fprettify
|
|
isort
|
|
python3Packages.mdformat
|
|
shellharden
|
|
stylua
|
|
];
|
|
in {
|
|
overlay = neovim-nightly-overlay.overlay;
|
|
homeManagerModules.default = {pkgs, ...}: {
|
|
programs.neovim = {
|
|
enable = true;
|
|
package = pkgs.neovim-nightly;
|
|
defaultEditor = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
vimdiffAlias = true;
|
|
withNodeJs = true;
|
|
withRuby = true;
|
|
withPython3 = true;
|
|
extraPackages = extraPackages pkgs;
|
|
};
|
|
};
|
|
};
|
|
}
|