{ lib, pkgs, config, ... }@inputs: with lib; let cfg = config.mae.nvim; in { imports = [ ./nvim-lsp.nix ./js.nix ./go.nix ./rust.nix ./nix.nix ./clangd.nix ]; options.mae.nvim = { enable = mkEnableOption "enable neovim"; }; config = { programs.neovim = mkIf cfg.enable { enable = true; vimdiffAlias = true; plugins = with pkgs.vimPlugins; [ neoformat undotree fzf-vim { plugin = iceberg-vim; config = "colorscheme iceberg"; } vim-sleuth ]; extraPackages = with pkgs; [ nodePackages.prettier ]; extraConfig = '' set background=dark set termguicolors set ic set number set autoindent set shortmess+=c set completeopt=menuone,noinsert,noselect ''; }; }; }