nixos-config/overlays/firefox-foodogsquared/default.nix

164 lines
6.2 KiB
Nix
Raw Normal View History

2023-10-17 05:25:07 +00:00
# My personalized Firefox installation.
final: prev:
{
firefox-foodogsquared = with prev; wrapFirefox firefox-unwrapped {
nativeMessagingHosts = [
2023-10-17 05:25:07 +00:00
ff2mpv
bukubrow
tridactyl-native
2023-10-17 05:25:07 +00:00
];
extraPolicies = {
AppAutoUpdate = false;
Containers.Default =
let
mkContainer = name: color: icon: {
inherit name color icon;
};
in
[
(mkContainer "Personal" "blue" "fingerprint")
(mkContainer "Self-hosted" "pink" "fingerprint")
(mkContainer "Work" "red" "briefcase")
(mkContainer "Banking" "green" "dollar")
(mkContainer "Shopping" "pink" "cart")
(mkContainer "Gaming" "turquoise" "chill")
];
DisableAppUpdate = true;
DisableMasterPasswordCreation = true;
DisablePocket = true;
DisableSetDesktopBackground = true;
DontCheckDefaultBrowser = true;
EnableTrackingProtection = true;
ExtensionSettings =
let
mozillaAddon = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
# This option assumes the default installation mode is `normal_installed`.
extensions = {
"@contain-facebook".install_url = mozillaAddon "facebook-container";
"@contain-google".install_url = mozillaAddon "google-container";
"@testpilot-containers".install_url = mozillaAddon "multi-account-containers";
"{157eb9f0-9814-4fcc-b0b7-586b3093c641}".install_url = mozillaAddon "updateswh";
"{15bdb1ce-fa9d-4a00-b859-66c214263ac0}".install_url = mozillaAddon "get-rss-feed-url";
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = mozillaAddon "bitwarden-password-manager";
installation_mode = "force_installed";
default_area = "navbar";
};
"{dedb3663-6f13-4c6c-bf0f-5bd111cb2c79}".install_url = mozillaAddon "zhongwen";
"{ef87d84c-2127-493f-b952-5b4e744245bc}".install_url = mozillaAddon "aw-watcher-web";
"ff2mpv@yossarian.net" = {
install_url = mozillaAddon "ff2mpv";
default_area = "navbar";
};
"FirefoxColor@mozilla.com".install_url = mozillaAddon "firefox-color";
"firefox-translations-addon@mozilla.org".install_url = mozillaAddon "firefox-translations";
"jid1-MnnxcxisBPnSXQ@jetpack".install_url = mozillaAddon "privacy-badger17";
"regrets-reporter@mozillafoundation.org".install_url = mozillaAddon "regretsreporter";
"tridactyl.vim@cmcaine.co.uk".install_url = mozillaAddon "tridactyl-vim";
"uBlock0@raymondhill.net".install_url = mozillaAddon "ublock-origin";
"wayback_machine@mozilla.org" = {
install_url = mozillaAddon "wayback-machine_new";
default_area = "navbar";
};
"zotero@chnm.gmu.edu".install_url = "https://www.zotero.org/download/connector/dl?browser=firefox";
"info@oahelper.org" = {
install_url = mozillaAddon "open-access-helper";
default_area = "navbar";
};
2023-10-17 05:25:07 +00:00
};
applyInstallationMode = name: value:
lib.nameValuePair name (value //
(lib.optionalAttrs
(! (lib.hasAttrByPath [ "installation_mode" ] value))
{ installation_mode = "normal_installed"; }));
in
lib.mapAttrs' applyInstallationMode extensions;
FirefoxHome = {
Highlights = false;
Pocket = false;
Snippets = false;
SponsporedPocket = false;
SponsporedTopSites = false;
};
NoDefaultBookmarks = true;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
SanitizeOnShutdown = {
FormData = true;
};
UseSystemPrintDialog = true;
};
};
# A custom Firefox package with specific configuration intended for guest
# environments.
firefox-foodogsquared-guest = with prev; wrapFirefox firefox-unwrapped {
nativeMessagingHosts = [
tridactyl-native
];
extraPolicies = {
AppAutoUpdate = false;
DisableAppUpdate = true;
DisableMasterPasswordCreation = true;
DisablePocket = true;
DisableSetDesktopBackground = true;
DontCheckDefaultBrowser = true;
EnableTrackingProtection = true;
ExtensionSettings =
let
mozillaAddon = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
# This option assumes the default installation mode is `normal_installed`.
extensions = {
"@contain-facebook".install_url = mozillaAddon "facebook-container";
"@contain-google".install_url = mozillaAddon "google-container";
"@testpilot-containers".install_url = mozillaAddon "multi-account-containers";
"FirefoxColor@mozilla.com".install_url = mozillaAddon "firefox-color";
"firefox-translations-addon@mozilla.org".install_url = mozillaAddon "firefox-translations";
"jid1-MnnxcxisBPnSXQ@jetpack".install_url = mozillaAddon "privacy-badger17";
"tridactyl.vim@cmcaine.co.uk".install_url = mozillaAddon "tridactyl-vim";
"uBlock0@raymondhill.net".install_url = mozillaAddon "ublock-origin";
"wayback_machine@mozilla.org" = {
install_url = mozillaAddon "wayback-machine_new";
default_area = "navbar";
};
};
applyInstallationMode = name: value:
lib.nameValuePair name (value //
(lib.optionalAttrs
(! (lib.hasAttrByPath [ "installation_mode" ] value))
{ installation_mode = "normal_installed"; }));
in
lib.mapAttrs' applyInstallationMode extensions;
FirefoxHome = {
Highlights = false;
Pocket = false;
Snippets = false;
SponsporedPocket = false;
SponsporedTopSites = false;
};
NoDefaultBookmarks = true;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
SanitizeOnShutdown = {
FormData = true;
};
UseSystemPrintDialog = true;
};
};
2023-10-17 05:25:07 +00:00
}