nvim/flake.nix
Evie Litherland-Smith 01ea9bc452 Add flake to return home-manager config for neovim
Update lualine config

If on nix, auto install all treesitter parsers
2023-07-24 10:42:10 +01:00

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;
};
};
};
}