{
  pkgs,
  lib,
  ...
}: let
  # checks if a plugin has a license
  hasLicense = _: pkg: let
    warn = x: lib.warn x x;

    msg =
      if builtins.hasAttr "license" pkg.meta
      then "${pkg.name} has license"
      else warn "${pkg.name} has no license";

    msg' = lib.replaceStrings [" "] ["-"] msg;
  in
    pkgs.runCommandNoCC msg' {} "echo : > $out ";

  # function to check License for all packages
  check-missing-licenses = let
    buildInputs =
      lib.mapAttrsToList
      hasLicense
      pkgs.vimExtraPlugins;
  in
    pkgs.runCommandNoCC
    "check-missing-licenses"
    {inherit buildInputs;}
    "echo : > $out";
in {
  checks =
    pkgs.vimExtraPlugins
    // {
      inherit check-missing-licenses;
      inherit (pkgs) update-vim-plugins;
    };
}