{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.vim; in { config = mkIf cfg.enable { programs.vim.package = (pkgs.macvim.overrideAttrs (_: _: { # Too much of a hassle to selectively override this. Let's just # explicitly override everything. configureFlags = [ "--disable-luainterp" "--disable-python3interp" "--disable-sparkle" "--enable-gui=macvim" "--with-compiledby=Nix" "--with-features=huge" "--with-tlib=ncurses" "--without-local-dir" ]; })) .configure (with cfg; { customRC = rc; packages.myVimPackage.start = plugins; }); }; }