2024-05-28 13:34:05 -08:00
|
|
|
{ lib, config, pkgs, nur, inputs, ... }:
|
|
|
|
|
|
|
|
# very good info in https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
|
|
|
# most of this file is pasted from that thread
|
|
|
|
|
|
|
|
{
|
|
|
|
programs.firefox = {
|
2024-06-04 13:51:24 -08:00
|
|
|
enable = true;
|
|
|
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
|
|
|
extraPolicies = {
|
|
|
|
DisableTelemetry = true;
|
|
|
|
# add policies here...
|
2024-05-28 13:34:05 -08:00
|
|
|
|
2024-06-04 13:51:24 -08:00
|
|
|
/* ---- PREFERENCES ---- */
|
|
|
|
# Set preferences shared by all profiles.
|
|
|
|
Preferences = {
|
|
|
|
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
|
|
|
# add global preferences here...
|
2024-05-28 13:34:05 -08:00
|
|
|
};
|
|
|
|
};
|
2024-06-04 13:51:24 -08:00
|
|
|
};
|
2024-05-28 13:34:05 -08:00
|
|
|
policies = {
|
|
|
|
ExtensionSettings = with builtins;
|
|
|
|
let extension = shortId: uuid: {
|
2024-06-04 13:51:24 -08:00
|
|
|
name = uuid;
|
|
|
|
value = {
|
|
|
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
|
|
|
installation_mode = "normal_installed";
|
|
|
|
};
|
|
|
|
};
|
2024-05-28 13:34:05 -08:00
|
|
|
in listToAttrs [
|
|
|
|
(extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp")
|
|
|
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
2024-05-28 14:37:28 -08:00
|
|
|
(extension "umatrix" "uMatrix@raymondhill.net")
|
|
|
|
(extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me")
|
2024-05-28 13:34:05 -08:00
|
|
|
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
|
|
|
(extension "mark-my-search" "{3c87dcad-dbbd-4be1-b07b-b6d0739b0aec}")
|
2024-06-04 13:51:24 -08:00
|
|
|
(extension "vimium" "{d7742d87-e61d-4b78-b8a1-b469842139fa}")
|
|
|
|
(extension "beautiful-alpen-blue" "{b96cf6da-f1b1-4b9d-9e69-98e7da9dd7c3}")
|
2024-05-28 13:34:05 -08:00
|
|
|
];
|
2024-06-04 13:51:24 -08:00
|
|
|
# To add additional extensions, find it on addons.mozilla.org, find
|
|
|
|
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
|
|
|
# Then, download the XPI by filling it in to the install_url template, unzip it,
|
|
|
|
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
|
|
|
# `jq .applications.gecko.id manifest.json` to get the UUID
|
|
|
|
# mir note: or just go to about:debugging#/runtime/this-firefox and copy the first field "Extension ID"
|
2024-05-28 13:34:05 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
profiles = {
|
|
|
|
default = {
|
2024-06-04 13:51:24 -08:00
|
|
|
id = 0;
|
|
|
|
name = "default";
|
|
|
|
isDefault = true;
|
|
|
|
settings = {
|
|
|
|
"browser.startup.homepage" = "https://search.marq42.xyz";
|
|
|
|
"browser.search.defaultenginename" = "searx";
|
|
|
|
"browser.search.order.1" = "searx";
|
|
|
|
};
|
|
|
|
search = {
|
|
|
|
force = true;
|
|
|
|
default = "searx";
|
|
|
|
order = [ "searx" "Google" ];
|
|
|
|
};
|
|
|
|
# userChrome = ''
|
|
|
|
# !important @import "~/.mozilla/safari-userchrome.css";
|
|
|
|
# '';
|
2024-05-28 13:34:05 -08:00
|
|
|
};
|
|
|
|
};
|
2024-06-04 13:51:24 -08:00
|
|
|
};
|
|
|
|
home.file.".mozilla/safari-userchrome.css".source = builtins.fetchurl {
|
|
|
|
url = "https://gist.githubusercontent.com/janoamaral/5c0a6e944ca31d2a6a51712d0c453d48/raw/6e1f0d1e3e31400d467302da3198c3e9c3caa647/userChrome.css";
|
|
|
|
sha256 = "19hbf9kf93ggryabbxz5h9nsm2ymzjg369b8bld818a515cx4vhc";
|
|
|
|
};
|
|
|
|
}
|