74 lines
2.9 KiB
Nix
74 lines
2.9 KiB
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
with lib;
|
|
{
|
|
options.firefox = {
|
|
tablet = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
programs = {
|
|
firefox = {
|
|
enable = true;
|
|
package = pkgs.firefox;
|
|
languagePacks = [
|
|
"en-GB"
|
|
];
|
|
policies = {
|
|
"DisplayMenuBar" = if config.firefox.tablet then false else true;
|
|
"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 [
|
|
# Security / Privacy
|
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
|
(extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
|
|
(extension "cookie-autodelete" "CookieAutoDelete@kennydo.com")
|
|
|
|
# Annoyances
|
|
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
|
(extension "bandcamp-player-volume-control" "{308ec088-284a-40fe-ae14-7c917526f694}")
|
|
|
|
# UI / CSS
|
|
(extension "darkreader" "addon@darkreader.org")
|
|
(extension "rsspreview" "{7799824a-30fe-4c67-8b3e-7094ea203c94}")
|
|
(extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp")
|
|
(extension "traduzir-paginas-web" "{036a55b4-5e72-4d05-a06c-cba2dfcc134a}")
|
|
|
|
# Additional Functionality
|
|
(extension "betterttv" "firefox@betterttv.net")
|
|
(extension "multi-account-containers" "@testpilot-containers")
|
|
(extension "gumbo-twitch-companion" "{59a39734-1e66-452e-a7b8-cc79f72062f0}")
|
|
(extension "joplin-web-clipper" "{8419486a-54e9-11e8-9401-ac9e17909436}")
|
|
(extension "tab-reloader" "jid0-bnmfwWw2w2w4e4edvcdDbnMhdVg@jetpack")
|
|
(extension "tab-session-manager" "Tab-Session-Manager@sienori")
|
|
(extension "user-agent-string-switcher" "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}")
|
|
(extension "violentmonkey" "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}")
|
|
];
|
|
# 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
|
|
};
|
|
|
|
profiles.default = (import ./firefox-profile.nix { tablet = config.firefox.tablet; }) // {
|
|
id = 0;
|
|
name = "default";
|
|
isDefault = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|