nix-conf/modules/cross-platform/home-manager/neovim.nix

45 lines
1.1 KiB
Nix

{
config,
inputs,
pkgs,
lib,
...
}: {
options = {
crony.neovim.enable = lib.mkEnableOption "Enable neovim and apply a good config.";
};
config = lib.mkIf config.crony.neovim.enable {
# Disable stylix for nvf, I wan't to use a properly implemented theme sorry.
stylix.targets.neovim.enable = false;
# Setup neovim with default home manager options
programs.neovim = {
enable = true;
package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
withPython3 = true;
withRuby = true;
extraPackages = [
# for treesitter
pkgs.gcc
# For nix
pkgs.nixd
pkgs.alejandra
# for lua
pkgs.lua-language-server
# for webdevelopment json/html/...
pkgs.vscode-langservers-extracted
# for markdown
pkgs.marksman
# for yaml
pkgs.yaml-language-server
# for shell scripts
pkgs.bash-language-server
];
};
};
}