nixos/modules/firefox.nix

73 lines
2.5 KiB
Nix

{ 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 = {
enable = true;
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies = {
DisableTelemetry = true;
# add policies here...
/* ---- PREFERENCES ---- */
# Set preferences shared by all profiles.
Preferences = {
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
# add global preferences here...
};
};
};
policies = {
ExtensionSettings = with builtins;
let extension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in listToAttrs [
(extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp")
(extension "ublock-origin" "uBlock0@raymondhill.net")
# (extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
# (extension "tabliss" "extension@tabliss.io")
# (extension "umatrix" "uMatrix@raymondhill.net")
# (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
(extension "mark-my-search" "{3c87dcad-dbbd-4be1-b07b-b6d0739b0aec}")
];
# 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
};
profiles = {
default = {
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" ];
};
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# ublock-origin
# vimium
# mark-my-search
# ];
};
};
};
}