nixpkgs/pkgs/by-name/va/vale/styles.nix
2024-11-17 08:33:39 -05:00

158 lines
4.0 KiB
Nix

{
lib,
stdenvNoCC,
fetchFromGitHub,
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.3";
src = fetchFromGitHub {
owner = "errata-ai";
repo = "alex";
rev = "v${version}";
hash = "sha256-p0CQg6ZLusSKr57SugwlnoDEoPNVY3UIM8rHHxOL2l0=";
};
meta = {
description = "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.2";
src = fetchFromGitHub {
owner = "errata-ai";
repo = "Google";
rev = "v${version}";
hash = "sha256-ldwK9tMA04H/jTd3dQeRX/sZOwZcyPb+I56cDg0vZDg=";
};
meta = {
description = "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 = "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.1";
src = fetchFromGitHub {
owner = "errata-ai";
repo = "Microsoft";
rev = "v${version}";
hash = "sha256-4j05bIGAVEy6untUqtrUxdLKlhyOcJsbcsow8OxRp1A=";
};
meta = {
description = "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.4";
src = fetchFromGitHub {
owner = "errata-ai";
repo = "proselint";
rev = "v${version}";
hash = "sha256-ryKJDX1JrvDWVKLC5qQGctweDf74yuwEXxl/IqumM4s=";
};
meta = {
description = "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.1";
src = fetchFromGitHub {
owner = "errata-ai";
repo = "write-good";
rev = "v${version}";
hash = "sha256-W/eHlXklAVlAnY8nLPi/SIKsg8UUnH8UkH99BDo5yKk=";
};
meta = {
description = "Vale-compatible implementation of the write-good linter";
homepage = "https://github.com/errata-ai/write-good";
license = lib.licenses.mit;
};
};
}