{ lib, self, }: let removed = { # Removed 2024-09-24 getAssertionMessages = ""; # Removed 2024-09-27 specialArgs = "It has been integrated into `evalNixvim`"; specialArgsWith = "It has been integrated into `evalNixvim`"; }; in { # Evaluate nixvim modules, checking warnings and assertions evalNixvim = { modules ? [ ], extraSpecialArgs ? { }, check ? null, # TODO: Remove stub }@args: # TODO: `check` argument removed 2024-09-24 # NOTE: this argument was always marked as experimental assert lib.assertMsg (!args ? "check") "`evalNixvim`: passing `check` is no longer supported. Checks are now done when evaluating `config.build.package` and can be avoided by using `config.build.packageUnchecked` instead."; lib.evalModules { modules = [ ../modules/top-level ] ++ modules; specialArgs = { inherit lib; # TODO: deprecate `helpers` helpers = self; } // extraSpecialArgs; }; } // lib.mapAttrs ( name: msg: throw ("`modules.${name}` has been removed." + lib.optionalString (msg != "") (" " + msg)) ) removed