aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flake.lock27
-rw-r--r--flake.nix10
-rw-r--r--flake/nixosConfigurations/default.nix11
-rw-r--r--home-manager/config/firefox/default.nix44
4 files changed, 74 insertions, 18 deletions
diff --git a/flake.lock b/flake.lock
index 1f69fc84..b7f8c273 100644
--- a/flake.lock
+++ b/flake.lock
@@ -280,6 +280,7 @@
"strip_js_comments": "strip_js_comments",
"templates": "templates",
"user_js": "user_js",
+ "video_pause": "video_pause",
"yambar_cpu": "yambar_cpu",
"yambar_memory": "yambar_memory"
}
@@ -428,6 +429,32 @@
"type": "github"
}
},
+ "video_pause": {
+ "inputs": {
+ "crane": [
+ "crane"
+ ],
+ "flake-utils": [
+ "flake-utils"
+ ],
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1681665568,
+ "narHash": "sha256-MFuebmGkzfThpxHWSJCvii6EHGa2wEwLfZgJL2FduiY=",
+ "ref": "refs/heads/prime",
+ "rev": "72c95f998368aa83e574bccebb0ed459656e1239",
+ "revCount": 3,
+ "type": "git",
+ "url": "https://codeberg.org/soispha/video-pause.git"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://codeberg.org/soispha/video-pause.git"
+ }
+ },
"yambar_cpu": {
"inputs": {
"crane": [
diff --git a/flake.nix b/flake.nix
index 89faf569..ab5751ed 100644
--- a/flake.nix
+++ b/flake.nix
@@ -81,6 +81,14 @@
rust-overlay.follows = "rust-overlay";
};
};
+ video_pause = {
+ url = "git+https://codeberg.org/soispha/video-pause.git";
+ inputs = {
+ nixpkgs.follows = "nixpkgs";
+ crane.follows = "crane";
+ flake-utils.follows = "flake-utils";
+ };
+ };
strip_js_comments = {
url = "git+https://codeberg.org/ene/strip_js_comments.git";
inputs = {
@@ -143,6 +151,7 @@
snap-sync,
templates,
# my binaries
+ video_pause,
strip_js_comments,
shell-library,
river_init_lesser,
@@ -171,6 +180,7 @@
river_init_lesser
yambar_memory
yambar_cpu
+ video_pause
grades
neovim_config
strip_js_comments
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
index 5d349071..270f13a2 100644
--- a/flake/nixosConfigurations/default.nix
+++ b/flake/nixosConfigurations/default.nix
@@ -4,6 +4,8 @@
pkgs,
nixpkgs,
sysLib,
+ # bins
+ video_pause,
yambar_cpu,
yambar_memory,
strip_js_comments,
@@ -31,10 +33,11 @@
pkgs
sysLib
# extra information
-
+
system
# bins
-
+
+ video_pause
yambar_cpu
yambar_memory
strip_js_comments
@@ -42,12 +45,12 @@
grades
shell-library
# external deps
-
+
user_js
neovim_config
snap-sync
# modules
-
+
impermanence
;
};
diff --git a/home-manager/config/firefox/default.nix b/home-manager/config/firefox/default.nix
index 9a15b9ce..611f594c 100644
--- a/home-manager/config/firefox/default.nix
+++ b/home-manager/config/firefox/default.nix
@@ -3,10 +3,8 @@
config,
pkgs,
lib,
- stdenv,
- generate_extensions,
user_js,
- system,
+ video_pause,
...
}: let
bookmarks = [
@@ -135,11 +133,6 @@
//user_pref("security.webauth.webauthn_enable_usbtoken", true);
EOF
'';
- #"${strip_js_comments.app.${system}.default.program}" $out/user.js > $out/user_clean.js;
- # echo "{" > $out/user.nix.tmp
- # sed 's/user_pref(\(.*\)",\(.*\));/\1" = \2;/' $out/user_clean.js >> $out/user.nix.tmp;
- # echo "}" >> $out/user.nix.tmp
- # awk '!/"_user.js.parrot"/' $out/user.nix.tmp >> $out/user.nix; # delete duplicate keys
extensions = builtins.map buildFirefoxXpiAddon (
lib.attrValues (
@@ -174,12 +167,33 @@
'';
};
- settings = {
- };
+ settings = {};
+ video-pauser = 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
+ '';
in {
- home.packages = [
- pkgs.firefox-wayland
- ];
home.sessionVariables = {
# improve touch input & make scrolling smother
MOZ_USE_XINPUT2 = "1";
@@ -198,7 +212,9 @@ in {
};
programs.firefox = {
enable = true;
- package = pkgs.firefox-wayland;
+ package = pkgs.firefox-wayland.override {
+ extraNativeMessagingHosts = [video-pauser];
+ };
profiles."default" = {
inherit extensions;
isDefault = true;