about summary refs log tree commit diff stats
path: root/home-manager/config/firefox/functions/extensions/video-pauser.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home-manager/config/firefox/functions/extensions/video-pauser.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/home-manager/config/firefox/functions/extensions/video-pauser.nix b/home-manager/config/firefox/functions/extensions/video-pauser.nix
new file mode 100644
index 00000000..a6b0e838
--- /dev/null
+++ b/home-manager/config/firefox/functions/extensions/video-pauser.nix
@@ -0,0 +1,31 @@
+# vim: ts=2
+{
+  pkgs,
+  video_pause,
+  ...
+}:
+pkgs.runCommand "video_pause_native_messaging" {} ''
+  install -d $out/share/
+  cat << EOF > $out/share/video_pauser.json
+  {
+    "name": "video_pauser",
+    "description": "Pause your Videos with a single key stroke!",
+    "path": "${video_pause}/bin/video_pause",
+    "type": "stdio",
+    "allowed_extensions": ["video-pauser@addons.vhack.eu"]
+  }
+  EOF
+
+  nativeMessagingPaths=(
+    /lib/mozilla/native-messaging-hosts
+    /etc/opt/chrome/native-messaging-hosts
+    /etc/chromium/native-messaging-hosts
+    /etc/vivaldi/native-messaging-hosts
+    /lib/librewolf/native-messaging-hosts
+  )
+
+  for manifestDir in "''${nativeMessagingPaths[@]}"; do
+    install -d $out$manifestDir
+    ln -s $out/share/video_pauser.json $out$manifestDir/
+  done
+''