diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix new file mode 100644 index 000000000000..5b9e55f8de0d --- /dev/null +++ b/pkgs/tools/text/ov/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +, pandoc +, makeWrapper +}: + +buildGoModule rec { + pname = "ov"; + version = "0.13.0"; + + src = fetchFromGitHub { + owner = "noborus"; + repo = "ov"; + rev = "refs/tags/v${version}"; + hash = "sha256-vBPhCSor3wGCawz+097Lw29xgW6z5fV5PAMAq7TBiNM="; + }; + + vendorHash = "sha256-y3oSL1W2cjt6oUVbglHhun3XNCidqb7LTXtoA25+mpo="; + + ldflags = [ + "-X main.Version=v${version}" + "-X main.Revision=${src.rev}" + ]; + + subPackages = [ "." ]; + + nativeBuildInputs = [ + installShellFiles + pandoc + makeWrapper + ]; + + outputs = [ "out" "doc" ]; + + postInstall = '' + installShellCompletion --cmd ov \ + --bash <($out/bin/ov completion bash) \ + --fish <($out/bin/ov completion fish) \ + --zsh <($out/bin/ov completion zsh) + + mkdir -p $out/share/$name + cp $src/ov-less.yaml $out/share/$name/less-config.yaml + makeWrapper $out/bin/ov $out/bin/ov-less --add-flags "--config $out/share/$name/less-config.yaml" + + mkdir -p $doc/share/doc/$name + pandoc -s < $src/README.md > $doc/share/doc/$name/README.html + mkdir -p $doc/share/$name + cp $src/ov.yaml $doc/share/$name/sample-config.yaml + ''; + + meta = with lib; { + description = "Feature-rich terminal-based text viewer"; + homepage = "https://noborus.github.io/ov"; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ farcaller ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ffe74d5abb0..a0cd421fa079 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -38624,4 +38624,6 @@ with pkgs; tuner = callPackage ../applications/audio/tuner { }; jfrog-cli = callPackage ../tools/misc/jfrog-cli { }; + + ov = callPackage ../tools/text/ov { }; }