diff --git a/flake.lock b/flake.lock index 055da5b..5d572e3 100644 --- a/flake.lock +++ b/flake.lock @@ -1421,6 +1421,90 @@ "type": "github" } }, + "qs-anti-adblock-fuckoff": { + "flake": false, + "locked": { + "narHash": "sha256-r8TloE5nLk2b4FW+lsi5ZBnRRz92HCSZnxFb6Gh1TIY=", + "type": "file", + "url": "https://update.greasyfork.org/scripts/397070/Anti-AdBlocker%20Fuckoff.user.js" + }, + "original": { + "type": "file", + "url": "https://update.greasyfork.org/scripts/397070/Anti-AdBlocker%20Fuckoff.user.js" + } + }, + "qs-bypass-paywalls-clean": { + "flake": false, + "locked": { + "narHash": "sha256-gaJ/dwxYLpETu8t42aC8hT2W6ZruGh9gB4IqK6jk/c0=", + "type": "file", + "url": "https://gitflic.ru/project/magnolia1234/bypass-paywalls-clean-filters/blob/raw?file=userscript/bpc.en.user.js" + }, + "original": { + "type": "file", + "url": "https://gitflic.ru/project/magnolia1234/bypass-paywalls-clean-filters/blob/raw?file=userscript/bpc.en.user.js" + } + }, + "qs-dont-track-me-google": { + "flake": false, + "locked": { + "narHash": "sha256-3WnaMOGedvNTLqvxmL2+2070QyjgcEBFzUgc13wjqr0=", + "type": "file", + "url": "https://update.greasyfork.org/scripts/428243/Don%27t%20track%20me%20Google.user.js" + }, + "original": { + "type": "file", + "url": "https://update.greasyfork.org/scripts/428243/Don%27t%20track%20me%20Google.user.js" + } + }, + "qs-i-dont-care-about-cookies": { + "flake": false, + "locked": { + "narHash": "sha256-cq1Hz8P+tH3WUugOXRjLN4bvpsKCDIynXclzlFPmL0w=", + "type": "file", + "url": "https://update.greasyfork.org/scripts/522645/I%20don%27t%20care%20about%20cookies.user.js" + }, + "original": { + "type": "file", + "url": "https://update.greasyfork.org/scripts/522645/I%20don%27t%20care%20about%20cookies.user.js" + } + }, + "qs-return-youtube-dislike": { + "flake": false, + "locked": { + "narHash": "sha256-bnnaKtgzC0FdQbR1qiojKpn9PyE94tOFLrh1OcC8pko=", + "type": "file", + "url": "https://update.greasyfork.org/scripts/436115/Return%20YouTube%20Dislike.user.js" + }, + "original": { + "type": "file", + "url": "https://update.greasyfork.org/scripts/436115/Return%20YouTube%20Dislike.user.js" + } + }, + "qs-sponsorblock-lite": { + "flake": false, + "locked": { + "narHash": "sha256-GfTwfZVW4Xng5OOG2UBkkWSqADBWyGv/n6bMV0nFxkA=", + "type": "file", + "url": "https://update.greasyfork.org/scripts/560869/SponsorBlock%20Lite.user.js" + }, + "original": { + "type": "file", + "url": "https://update.greasyfork.org/scripts/560869/SponsorBlock%20Lite.user.js" + } + }, + "qs-tracking-token-stripper": { + "flake": false, + "locked": { + "narHash": "sha256-G1V4oUE1JJGFZIJz5qaGhjVDCCSrMSeL5nnn+WA97bM=", + "type": "file", + "url": "https://github.com/doggy8088/TrackingTokenStripper/raw/refs/heads/master/TrackingTokenStripper.user.js" + }, + "original": { + "type": "file", + "url": "https://github.com/doggy8088/TrackingTokenStripper/raw/refs/heads/master/TrackingTokenStripper.user.js" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -1481,6 +1565,13 @@ "nixpkgs": "nixpkgs_8", "nixpkgs-stable": "nixpkgs-stable", "nvf": "nvf", + "qs-anti-adblock-fuckoff": "qs-anti-adblock-fuckoff", + "qs-bypass-paywalls-clean": "qs-bypass-paywalls-clean", + "qs-dont-track-me-google": "qs-dont-track-me-google", + "qs-i-dont-care-about-cookies": "qs-i-dont-care-about-cookies", + "qs-return-youtube-dislike": "qs-return-youtube-dislike", + "qs-sponsorblock-lite": "qs-sponsorblock-lite", + "qs-tracking-token-stripper": "qs-tracking-token-stripper", "sops-nix": "sops-nix", "spicetify-nix": "spicetify-nix", "stylix": "stylix" diff --git a/flake.nix b/flake.nix index 9cc414a..a316658 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,36 @@ blog.url = "github:anotherhadi/blog"; awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers"; iknowyou.url = "github:anotherhadi/iknowyou"; + + # Qutebrowser userscripts (greasemonkey) + qs-return-youtube-dislike = { + url = "https://update.greasyfork.org/scripts/436115/Return%20YouTube%20Dislike.user.js"; + flake = false; + }; + qs-sponsorblock-lite = { + url = "https://update.greasyfork.org/scripts/560869/SponsorBlock%20Lite.user.js"; + flake = false; + }; + qs-dont-track-me-google = { + url = "https://update.greasyfork.org/scripts/428243/Don%27t%20track%20me%20Google.user.js"; + flake = false; + }; + qs-i-dont-care-about-cookies = { + url = "https://update.greasyfork.org/scripts/522645/I%20don%27t%20care%20about%20cookies.user.js"; + flake = false; + }; + qs-tracking-token-stripper = { + url = "https://github.com/doggy8088/TrackingTokenStripper/raw/refs/heads/master/TrackingTokenStripper.user.js"; + flake = false; + }; + qs-bypass-paywalls-clean = { + url = "https://gitflic.ru/project/magnolia1234/bypass-paywalls-clean-filters/blob/raw?file=userscript/bpc.en.user.js"; + flake = false; + }; + qs-anti-adblock-fuckoff = { + url = "https://update.greasyfork.org/scripts/397070/Anti-AdBlocker%20Fuckoff.user.js"; + flake = false; + }; }; outputs = inputs @ {nixpkgs, ...}: { diff --git a/home/programs/qutebrowser/userscripts.nix b/home/programs/qutebrowser/userscripts.nix index 57a432f..5951ddf 100644 --- a/home/programs/qutebrowser/userscripts.nix +++ b/home/programs/qutebrowser/userscripts.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + pkgs, + inputs, + ... +}: { xdg.dataFile = { # Startpage: hide sponsored results (custom script, no upstream) "qutebrowser/greasemonkey/startpage-no-ads.user.js".text = '' @@ -22,46 +26,12 @@ }).observe(document, { childList: true, subtree: true }); ''; - # Return YouTube Dislike: restore dislike counts on YouTube - "qutebrowser/greasemonkey/return-youtube-dislike.user.js".source = pkgs.fetchurl { - url = "https://update.greasyfork.org/scripts/436115/Return%20YouTube%20Dislike.user.js"; - hash = "sha256-P7dK3v1WbSQaJUo73iHrezkXE+6BOdIuDk/D6GJwwbM="; - }; - - # SponsorBlock Lite: auto-skip sponsors on YouTube - "qutebrowser/greasemonkey/sponsorblock-lite.user.js".source = pkgs.fetchurl { - url = "https://update.greasyfork.org/scripts/560869/SponsorBlock%20Lite.user.js"; - hash = "sha256-8DTIRMn+cy/gZeeHa6xJDomQ5QN3lnaK0DG5ZcS5d00="; - }; - - # Don't Track Me Google: remove Google tracking redirects - "qutebrowser/greasemonkey/dont-track-me-google.user.js".source = pkgs.fetchurl { - url = "https://update.greasyfork.org/scripts/428243/Don%27t%20track%20me%20Google.user.js"; - hash = "sha256-yEjBZprSjHyDRpd+TJ1vUsSYHrwLspQOztpKunBLPig="; - }; - - # I don't care about cookies: auto-dismiss cookie banners - "qutebrowser/greasemonkey/i-dont-care-about-cookies.user.js".source = pkgs.fetchurl { - url = "https://update.greasyfork.org/scripts/522645/I%20don%27t%20care%20about%20cookies.user.js"; - hash = "sha256-Ij7HyBfWemAO0EAGKYxWPPv7OX5twNtGKKPGhOAxM9w="; - }; - - # TrackingTokenStripper: remove tracking params from URLs (utm_*, fbclid, etc.) - "qutebrowser/greasemonkey/tracking-token-stripper.user.js".source = pkgs.fetchurl { - url = "https://github.com/doggy8088/TrackingTokenStripper/raw/refs/heads/master/TrackingTokenStripper.user.js"; - hash = "sha256-EX8xN2Vd8SE/RvMcF/YSGN4Epa5cm355IeD9agTP2h4="; - }; - - # Bypass Paywalls Clean: bypass news site paywalls (Le Monde, NY Times, etc.) - "qutebrowser/greasemonkey/bypass-paywalls-clean.user.js".source = pkgs.fetchurl { - url = "https://gitflic.ru/project/magnolia1234/bypass-paywalls-clean-filters/blob/raw?file=userscript/bpc.en.user.js"; - hash = "sha256-dUgwBkJi5Jrtpw5HJydRjY9xBpZXyD0ZtA/+hDzF97s="; - }; - - # Anti-Adblock Fuckoff: remove anti-adblock modals and restore scroll - "qutebrowser/greasemonkey/anti-adblock-fuckoff.user.js".source = pkgs.fetchurl { - url = "https://update.greasyfork.org/scripts/397070/Anti-AdBlocker%20Fuckoff.user.js"; - hash = "sha256-vFeWxqMg0gPHP7mGNZO9e9Me/2Z81biR5JEXC/Ct4fA="; - }; + "qutebrowser/greasemonkey/return-youtube-dislike.user.js".source = inputs.qs-return-youtube-dislike; + "qutebrowser/greasemonkey/sponsorblock-lite.user.js".source = inputs.qs-sponsorblock-lite; + "qutebrowser/greasemonkey/dont-track-me-google.user.js".source = inputs.qs-dont-track-me-google; + "qutebrowser/greasemonkey/i-dont-care-about-cookies.user.js".source = inputs.qs-i-dont-care-about-cookies; + "qutebrowser/greasemonkey/tracking-token-stripper.user.js".source = inputs.qs-tracking-token-stripper; + "qutebrowser/greasemonkey/bypass-paywalls-clean.user.js".source = inputs.qs-bypass-paywalls-clean; + "qutebrowser/greasemonkey/anti-adblock-fuckoff.user.js".source = inputs.qs-anti-adblock-fuckoff; }; }