about summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
authorMaas Lalani <maas@lalani.dev>2022-10-27 12:36:22 -0400
committerWinter <winter@winter.cafe>2022-10-29 22:44:10 -0400
commit2f74bf9ce86149f3094c86ee93d695864bad1b90 (patch)
treeb62bb10544cc71844d31c2fbb49d5d6476253d83 /pkgs/applications/misc
parent610fcf1243fef570261c3255e8150b87b11c9604 (diff)
vhs: init at 0.1.1
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/vhs/default.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/applications/misc/vhs/default.nix b/pkgs/applications/misc/vhs/default.nix
new file mode 100644
index 0000000000000..5ea0a82c850eb
--- /dev/null
+++ b/pkgs/applications/misc/vhs/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, makeWrapper }:
+
+buildGoModule rec {
+  pname = "vhs";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-wcOLUA/U+xRwo7slnACCURQO7D0F3pFP2/SHDfEHeTA=";
+  };
+
+  vendorHash = "sha256-f8EHDxu+NWAFJx9ujzsiDhNymdEzExmdreP11gV56AI=";
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+  buildInputs = [ ttyd ffmpeg ];
+
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/vhs --prefix PATH : ${lib.makeBinPath [ ffmpeg ttyd ]}
+    $out/bin/vhs man > vhs.1
+    installManPage vhs.1
+    installShellCompletion --cmd vhs \
+      --bash <($out/bin/vhs completion bash) \
+      --fish <($out/bin/vhs completion fish) \
+      --zsh <($out/bin/vhs completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A tool for generating terminal GIFs with code";
+    homepage = "https://github.com/charmbracelet/vhs";
+    changelog = "https://github.com/charmbracelet/vhs/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maaslalani ];
+  };
+}