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