{ pkgs, ... }: { programs.firefox = { enable = true; profiles.default = { settings = { "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; }; }; policies = { # From https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17 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 "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}") (extension "ublock-origin" "uBlock0@raymondhill.net") (extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack") (extension "i-dont-care-about-cookies" "jid1-KKzOGWgsW3Ao4Q@jetpack") ]; # 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 }; }; }