about summary refs log tree commit diff
path: root/pkgs/tools/text/readability-cli/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/text/readability-cli/default.nix')
-rw-r--r--pkgs/tools/text/readability-cli/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/tools/text/readability-cli/default.nix b/pkgs/tools/text/readability-cli/default.nix
new file mode 100644
index 0000000000000..5c0fedd752c35
--- /dev/null
+++ b/pkgs/tools/text/readability-cli/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildNpmPackage, fetchFromGitLab, installShellFiles }:
+
+buildNpmPackage rec {
+  pname = "readability-cli";
+  version = "2.4.4";
+
+  src = fetchFromGitLab {
+    owner = "gardenappl";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-pvAp3ZJ8/FPhrSMC8B4U1m5zuBNRP/HcsXkrW6QYgSQ=";
+  };
+
+  postPatch = ''
+    # Set a script name to avoid yargs using index.js as $0
+    substituteInPlace common.mjs \
+      --replace '.version(false)' '.version(false).scriptName("readable")'
+  '';
+
+  npmDepsHash = "sha256-X1pcgDm8C4G+hIsgx3sAVFQPadWsULvXrdLAIHnpjmE=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  dontNpmBuild = true;
+
+  postInstall = ''
+    installManPage readability-cli.1
+    installShellCompletion --cmd readable \
+      --bash <(SHELL=bash $out/bin/readable --completion) \
+      --zsh <(SHELL=zsh $out/bin/readable --completion)
+  '';
+
+  meta = with lib; {
+    description = "Firefox Reader Mode in your terminal - get useful text from a web page using Mozilla's Readability library";
+    homepage = "https://gitlab.com/gardenappl/readability-cli";
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.marsam ];
+    mainProgram = "readable";
+  };
+}