48 lines
999 B
Nix
48 lines
999 B
Nix
{ config, options, lib, pkgs, ... }:
|
|
let
|
|
inherit (lib.meta) getExe;
|
|
inherit (lib.modules) mkIf;
|
|
in
|
|
{
|
|
options.modules.desktop.editors.nvim = let
|
|
inherit (lib.options) mkEnableOption;
|
|
in { enable = mkEnableOption "neo-vim (nixvim)"; };
|
|
|
|
config = mkIf config.modules.desktop.editors.nvim.enable {
|
|
programs.nixvim = {
|
|
enable = true;
|
|
|
|
options = {
|
|
number = true;
|
|
|
|
shiftwidth = 2;
|
|
};
|
|
|
|
colorschemes.gruvbox.enable = true;
|
|
|
|
plugins = {
|
|
lualine.enable = true;
|
|
lightline.enable = true;
|
|
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
tsserver.enable = true;
|
|
lua-ls.enable = true;
|
|
rust-analyzer.enable = true;
|
|
};
|
|
};
|
|
|
|
nvim-cmp = {
|
|
enable = true;
|
|
autoEnableSources = true;
|
|
sources = [
|
|
{name = "nvim_lsp";}
|
|
{name = "path";}
|
|
{name = "buffer";}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|