diff options
author | Azat Bahawi <azat@bahawi.net> | 2023-11-28 23:10:04 +0300 |
---|---|---|
committer | Azat Bahawi <azat@bahawi.net> | 2023-11-28 23:10:04 +0300 |
commit | 34f74229f8291156f35de943fbecfbe90c3366a9 (patch) | |
tree | e2c9e7f3897770ad849dacd947853d897b7183d7 /modules/nixos/firefox/default.nix | |
parent | 2023-11-26 (diff) |
2023-11-28
Diffstat (limited to '')
-rw-r--r-- | modules/nixos/firefox/default.nix | 64 |
1 files changed, 50 insertions, 14 deletions
diff --git a/modules/nixos/firefox/default.nix b/modules/nixos/firefox/default.nix index 041752d..a5d5c89 100644 --- a/modules/nixos/firefox/default.nix +++ b/modules/nixos/firefox/default.nix @@ -73,20 +73,56 @@ in { userContent = mkCssWithRoot ./userContent.css; - extensions = with pkgs.nur.repos.rycee.firefox-addons; - [ - bitwarden - consent-o-matic - darkreader - furiganaize - localcdn - no-pdf-download - noscript - privacy-redirect - ublock-origin - violentmonkey - ] - ++ optional config.nixfiles.modules.ipfs.enable ipfs-companion; + extensions = let + # This was done using the incredible addon generator[1]. All credit + # goes to Robert Helgesson. + # + # [1]: https://sr.ht/~rycee/mozilla-addons-to-nix/ + buildFirefoxXpiAddon = makeOverridable ({ + stdenv ? pkgs.stdenv, + fetchurl ? pkgs.fetchurl, + pname, + version, + addonId, + url, + sha256, + meta, + ... + }: + stdenv.mkDerivation { + name = "${pname}-${version}"; + inherit meta; + src = 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" + ''; + }); + + addons = import ./addons.nix {inherit buildFirefoxXpiAddon lib;}; + in + with addons; + [ + bitwarden + canvasblocker + consent-o-matic + darkreader + dont-track-me-google + furiganaize + languagetool + localcdn + no-pdf-download + noscript + privacy-redirect + rikaichamp + ublock-origin + user-agent-switcher + violentmonkey + ] + ++ optional config.nixfiles.modules.ipfs.enable ipfs-companion; search = { force = true; |