about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/firefox/functions/extensions
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-01 15:31:42 +0200
committerSoispha <soispha@vhack.eu>2023-08-01 15:42:54 +0200
commit0a608bd781dcda40144097b007fac0a0c60a8ee1 (patch)
treee69fbc1fd0e15e3b86f31f47b776df21f6f0170d /home-manager/soispha/config/firefox/functions/extensions
parentFix(hm/conf/gammastep): Use lighter settings on laptops (diff)
downloadnixos-config-0a608bd781dcda40144097b007fac0a0c60a8ee1.zip
Refactor(treewide): Move module configuration in separate files
Diffstat (limited to 'home-manager/soispha/config/firefox/functions/extensions')
-rw-r--r--home-manager/soispha/config/firefox/functions/extensions/default.nix25
-rw-r--r--home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix30
2 files changed, 55 insertions, 0 deletions
diff --git a/home-manager/soispha/config/firefox/functions/extensions/default.nix b/home-manager/soispha/config/firefox/functions/extensions/default.nix
new file mode 100644
index 00000000..b84461c7
--- /dev/null
+++ b/home-manager/soispha/config/firefox/functions/extensions/default.nix
@@ -0,0 +1,25 @@
+{pkgs, ...}: {
+  pname,
+  version,
+  addonId,
+  url,
+  sha256,
+  #meta,
+  ...
+}:
+pkgs.stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  #inherit meta;
+
+  src = builtins.fetchurl {inherit url sha256;};
+
+  preferLocalBuild = true;
+  allowSubstitutes = true;
+
+  buildCommand = ''
+    dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
+    mkdir -p "$dst"
+    install -v -m644 "$src" "$dst/${addonId}.xpi"
+  '';
+}
diff --git a/home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix b/home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix
new file mode 100644
index 00000000..c4c5238f
--- /dev/null
+++ b/home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix
@@ -0,0 +1,30 @@
+{
+  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
+''