145 lines
3.9 KiB
Nix
145 lines
3.9 KiB
Nix
|
{ lib, stdenvNoCC, fetchFromGitHub, fetchzip, nix-update-script }:
|
||
|
|
||
|
let
|
||
|
buildStyle =
|
||
|
{ name
|
||
|
, stylePath ? name
|
||
|
, ...
|
||
|
}@args:
|
||
|
stdenvNoCC.mkDerivation ({
|
||
|
pname = "vale-style-${lib.toLower name}";
|
||
|
|
||
|
dontConfigure = true;
|
||
|
dontBuild = true;
|
||
|
doCheck = false;
|
||
|
dontFixup = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
mkdir -p $out/share/vale/styles
|
||
|
cp -R ${stylePath} "$out/share/vale/styles/${name}"
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
passthru.updateScript = nix-update-script { };
|
||
|
|
||
|
meta = {
|
||
|
platforms = lib.platforms.all;
|
||
|
maintainers = with lib.maintainers; [ katexochen ];
|
||
|
} // (args.meta or { });
|
||
|
} // removeAttrs args [ "meta" "name" ]);
|
||
|
in
|
||
|
{
|
||
|
alex = buildStyle rec {
|
||
|
name = "alex";
|
||
|
version = "0.2.1";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "alex";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-xNF7se2FwKgNe5KYx/zvGWpIwBsBADYGH4JV1lUww+Q=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of the guidelines enforced by the alex linter";
|
||
|
homepage = "https://github.com/errata-ai/alex";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
google = buildStyle rec {
|
||
|
name = "Google";
|
||
|
version = "0.6.0";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "Google";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-TQS/hgS6tEWPSuZpEbX65MdYSE/+HJVcnzIuQbhIG2M=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of the Google Developer Documentation Style Guide";
|
||
|
homepage = "https://github.com/errata-ai/Google";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
joblint = buildStyle rec {
|
||
|
name = "Joblint";
|
||
|
version = "0.4.1";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "Joblint";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-zRz5ThOg5RLTZj3dYPe0PDvOF5DjO31lduSpi2Us87U=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of the Joblint linter";
|
||
|
homepage = "https://github.com/errata-ai/Joblint";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
microsoft = buildStyle rec {
|
||
|
name = "Microsoft";
|
||
|
version = "0.14.0";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "Microsoft";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-22rGNLZOsWYQ+H3CcM2b1zOXV3kNPcgYqDpaCg1iv9o=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of the Microsoft Writing Style Guide";
|
||
|
homepage = "https://github.com/errata-ai/Microsoft";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
proselint = buildStyle rec {
|
||
|
name = "proselint";
|
||
|
version = "0.3.3";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "proselint";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-faeWr1bRhnKsycJY89WqnRv8qIowUmz3EQvDyjtl63w=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of Python's proselint linter";
|
||
|
homepage = "https://github.com/errata-ai/proselint";
|
||
|
license = lib.licenses.bsd3;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
readability = buildStyle rec {
|
||
|
name = "Readability";
|
||
|
version = "0.1.1";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "readability";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-5Y9v8QsZjC2w3/pGIcL5nBdhpogyJznO5IFa0s8VOOI=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "Vale-compatible implementations of many popular \"readability\" metrics";
|
||
|
homepage = "https://github.com/errata-ai/readability";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
write-good = buildStyle rec {
|
||
|
name = "write-good";
|
||
|
version = "0.4.0";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "errata-ai";
|
||
|
repo = "write-good";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-KQzY6MeHV/owPVmUAfzGUO0HmFPkD7wdQqOvBkipwP8=";
|
||
|
};
|
||
|
meta = {
|
||
|
description = "A Vale-compatible implementation of the write-good linter";
|
||
|
homepage = "https://github.com/errata-ai/write-good";
|
||
|
license = lib.licenses.mit;
|
||
|
};
|
||
|
};
|
||
|
}
|