aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/config/firefox/functions/extensions
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-04-28 16:12:08 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:32:52 +0200
commit558cde37c66b29807c8cb536f0a2236a8acad49e (patch)
treec35aa94d28db51a55e81c1ff17b0718267cb5137 /home-manager/config/firefox/functions/extensions
parentFix(hm/conf/keepassxc): Rework config file (diff)
downloadnixos-config-558cde37c66b29807c8cb536f0a2236a8acad49e.zip
Refactor(hm/conf/firefox): For a cleaner default.nix
Diffstat (limited to 'home-manager/config/firefox/functions/extensions')
-rw-r--r--home-manager/config/firefox/functions/extensions/default.nix26
-rw-r--r--home-manager/config/firefox/functions/extensions/video-pauser.nix31
2 files changed, 57 insertions, 0 deletions
diff --git a/home-manager/config/firefox/functions/extensions/default.nix b/home-manager/config/firefox/functions/extensions/default.nix
new file mode 100644
index 00000000..e3373d86
--- /dev/null
+++ b/home-manager/config/firefox/functions/extensions/default.nix
@@ -0,0 +1,26 @@
+# vim: ts=2
+{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/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
+''