diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index 6f89bd8b1ac7..33f4a01ef76d 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -17,16 +17,8 @@ let # sets from building on Hydra. removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias; - # Make sure that we are not shadowing something from - # all-packages.nix. - checkInPkgs = - n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in vim-plugins" else alias; - mapAliases = - aliases: - lib.mapAttrs ( - n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) - ) aliases; + aliases: lib.mapAttrs (_: alias: removeDistribute (removeRecurseForDerivations alias)) aliases; deprecations = lib.mapAttrs ( old: info: diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix index 9630944dc0d3..7ace8d226c77 100644 --- a/pkgs/applications/editors/vim/plugins/default.nix +++ b/pkgs/applications/editors/vim/plugins/default.nix @@ -55,7 +55,14 @@ let inherit llvmPackages; }; - aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: { }; + aliases = + final: prev: + let + defined = import ./aliases.nix lib final prev; + shadowed = builtins.attrNames (builtins.intersectAttrs prev defined); + in + assert lib.assertMsg (shadowed == [ ]) "vimPlugins aliases shadow plugins: ${toString shadowed}"; + lib.optionalAttrs config.allowAliases defined; in lib.pipe initialPackages [ (extends plugins)