Loading pkgs/tools/text/vale/default.nix +25 −7 Original line number Diff line number Diff line { lib, buildGoModule, fetchFromGitHub }: { lib , buildGoModule , fetchFromGitHub , makeBinaryWrapper , runCommand , symlinkJoin , vale , valeStyles }: buildGoModule rec { pname = "vale"; version = "3.4.1"; subPackages = [ "cmd/vale" ]; outputs = [ "out" "data" ]; src = fetchFromGitHub { owner = "errata-ai"; Loading @@ -16,18 +23,29 @@ buildGoModule rec { vendorHash = "sha256-HMzFLSmO6sBDNU89UoIvHcPPd3ubpti2ii4sFMKUDmI="; postInstall = '' mkdir -p $data/share/vale cp -r testdata/styles $data/share/vale ''; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; # Tests require network access doCheck = false; passthru.withStyles = selector: symlinkJoin { name = "vale-with-styles-${vale.version}"; paths = [ vale ] ++ selector valeStyles; nativeBuildInputs = [ makeBinaryWrapper ]; postBuild = '' wrapProgram "$out/bin/vale" \ --set VALE_STYLES_PATH "$out/share/vale/styles/" ''; }; meta = with lib; { description = "A syntax-aware linter for prose built with speed and extensibility in mind"; longDescription = '' Vale in Nixpkgs offers the helper `.withStyles` allow you to install it predefined styles: vale.withStyles (s: [ s.alex s.google ]) ''; homepage = "https://vale.sh/"; changelog = "https://github.com/errata-ai/vale/releases/tag/v${version}"; mainProgram = "vale"; Loading pkgs/tools/text/vale/styles.nix 0 → 100644 +144 −0 Original line number Diff line number Diff line { 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; }; }; } pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -24917,6 +24917,8 @@ with pkgs; vale = callPackage ../tools/text/vale { }; valeStyles = recurseIntoAttrs (callPackages ../tools/text/vale/styles.nix { }); valhalla = callPackage ../development/libraries/valhalla { boost = boost.override { enablePython = true; python = python3; }; protobuf = protobuf_21.override { Loading
pkgs/tools/text/vale/default.nix +25 −7 Original line number Diff line number Diff line { lib, buildGoModule, fetchFromGitHub }: { lib , buildGoModule , fetchFromGitHub , makeBinaryWrapper , runCommand , symlinkJoin , vale , valeStyles }: buildGoModule rec { pname = "vale"; version = "3.4.1"; subPackages = [ "cmd/vale" ]; outputs = [ "out" "data" ]; src = fetchFromGitHub { owner = "errata-ai"; Loading @@ -16,18 +23,29 @@ buildGoModule rec { vendorHash = "sha256-HMzFLSmO6sBDNU89UoIvHcPPd3ubpti2ii4sFMKUDmI="; postInstall = '' mkdir -p $data/share/vale cp -r testdata/styles $data/share/vale ''; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; # Tests require network access doCheck = false; passthru.withStyles = selector: symlinkJoin { name = "vale-with-styles-${vale.version}"; paths = [ vale ] ++ selector valeStyles; nativeBuildInputs = [ makeBinaryWrapper ]; postBuild = '' wrapProgram "$out/bin/vale" \ --set VALE_STYLES_PATH "$out/share/vale/styles/" ''; }; meta = with lib; { description = "A syntax-aware linter for prose built with speed and extensibility in mind"; longDescription = '' Vale in Nixpkgs offers the helper `.withStyles` allow you to install it predefined styles: vale.withStyles (s: [ s.alex s.google ]) ''; homepage = "https://vale.sh/"; changelog = "https://github.com/errata-ai/vale/releases/tag/v${version}"; mainProgram = "vale"; Loading
pkgs/tools/text/vale/styles.nix 0 → 100644 +144 −0 Original line number Diff line number Diff line { 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; }; }; }
pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -24917,6 +24917,8 @@ with pkgs; vale = callPackage ../tools/text/vale { }; valeStyles = recurseIntoAttrs (callPackages ../tools/text/vale/styles.nix { }); valhalla = callPackage ../development/libraries/valhalla { boost = boost.override { enablePython = true; python = python3; }; protobuf = protobuf_21.override {