45 lines
1.1 KiB
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
|
|
];
|
|
};
|
|
};
|
|
}
|