diff --git a/system/home/browser/firefox.nix b/system/home/browser/firefox.nix index 0064b26c..fca90993 100644 --- a/system/home/browser/firefox.nix +++ b/system/home/browser/firefox.nix @@ -1,202 +1,213 @@ { pkgs, ... }: { stylix.targets.firefox.profileNames = [ "default" ]; - programs.firefox = { - enable = true; - policies = { - BlockAboutProfiles = true; - Cookies = { - Behavior = "reject-tracker-and-partition-foreign"; - BehaviorPrivateBrowsing = "reject"; - Locked = true; - }; - DefaultDownloadDirectory = "\${home}/Downloads"; - DisableAppUpdate = true; - DisableFirefoxAccounts = true; - DisableFirefoxScreenshots = true; - DisableFirefoxStudies = true; - DisableFormHistory = true; - DisablePocket = true; - DisableProfileImport = true; - DisableSetDesktopBackground = true; - DisableSystemAddonUpdate = true; - DisableTelemetry = true; - DisplayMenuBar = "default-off"; - DontCheckDefaultBrowser = true; - EnableTrackingProtection = { - Value = true; - Locked = true; - Cryptomining = true; - Fingerprinting = true; - }; - ExtensionSettings = { - "queryamoid@kaply.com" = { - installation_mode = "force_installed"; - install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi"; - }; - # uBlock Origin - "uBlock0@raymondhill.net" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - }; - # Proton Pass - "78272b6fa58f4a1abaac99321d503a20@proton.me" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/proton-pass/latest.xpi"; - }; - # Consent-O-Matic - "gdpr@cavi.au.dk" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi"; - }; - # ClearURLs - "{74145f27-f039-47ce-a470-a662b129930a}" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/clearurls/latest.xpi"; - }; - }; - FirefoxHome = { - Search = true; - TopSites = false; - SponsoredTopSites = false; - Highlights = false; - Pocket = false; - SponsoredPocket = false; - Snippets = false; - Locked = true; - }; - FirefoxSuggest = { - WebSuggestions = false; - SponsoredSuggestions = false; - ImproveSuggest = false; - Locked = true; - }; - HardwareAcceleration = true; - Homepage = { - Locked = true; - StartPage = "homepage-locked"; - }; - NewTabPage = true; - NoDefaultBookmarks = false; - OfferToSaveLogins = false; - PasswordManagerEnabled = false; - PDFjs = { - Enabled = false; - }; - Permissions = { - Autoplay = { - Default = "block-audio-video"; - }; - }; - PictureInPicture = { - Enabled = true; - }; - PopupBlocking = { - Default = true; - }; - RequestedLocales = [ "en-GB" ]; - SearchBar = "unified"; - ShowHomeButton = true; - StartDownloadsInTempDirectory = true; + programs = { + browserpass = { + enable = true; + browsers = [ "firefox" ]; }; - profiles.default = { - bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json); - settings = { - "app.shield.optoutstudies.enabled" = false; - "browser.tabs.inTitlebar" = 0; - "browser.bookmarks.addedImportButton" = false; - "browser.bookmarks.showMobileBookmarks" = false; - "browser.toolbars.bookmarks.visibility" = "never"; - "browser.contentblocking.category" = "strict"; - "browser.search.region" = "GB"; - "browser.search.isUS" = false; - "browser.warnOnQuitShortcut" = false; - "browser.zoom.siteSpecific" = false; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "doh-rollout.home-region" = "GB"; - "dom.private-attribution.submission.enabled" = false; - "extensions.activeThemeID" = "default-theme@mozilla.org"; - "extensions.formautofill.creditCards.enabled" = false; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-gb,en"; - "intl.locale.requested" = "en-gb,en"; - "intl.regional_prefs.use_os_locales" = true; - "media.eme.enabled" = true; - "privacy.webrtc.legacyGlobalIndicator" = false; - "signon.management.page.breach-alerts.enabled" = false; - "signon.rememberSignons" = false; - "widget.use-xdg-desktop-portal.file-picker" = 1; - "widget.use-xdg-desktop-portal.mime-handler" = 1; - "widget.use-xdg-desktop-portal.open-uri" = 1; - "browser.newtabpage.pinned" = [ - { - title = "NixOS Wiki"; - url = "https://wiki.nixos.org"; - } - { - title = "Arch Wiki"; - url = "https://wiki.archlinux.org"; - } - ]; + firefox = { + enable = true; + policies = { + BlockAboutProfiles = true; + Cookies = { + Behavior = "reject-tracker-and-partition-foreign"; + BehaviorPrivateBrowsing = "reject"; + Locked = true; + }; + DefaultDownloadDirectory = "\${home}/Downloads"; + DisableAppUpdate = true; + DisableFirefoxAccounts = true; + DisableFirefoxScreenshots = true; + DisableFirefoxStudies = true; + DisableFormHistory = true; + DisablePocket = true; + DisableProfileImport = true; + DisableSetDesktopBackground = true; + DisableSystemAddonUpdate = true; + DisableTelemetry = true; + DisplayMenuBar = "default-off"; + DontCheckDefaultBrowser = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + ExtensionSettings = { + "queryamoid@kaply.com" = { + installation_mode = "force_installed"; + install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi"; + }; + # uBlock Origin + "uBlock0@raymondhill.net" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + }; + # Browserpass + "browserpass@maximbaz.com" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi"; + }; + # SimpleLogin + "addon@simplelogin" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi"; + }; + # Consent-O-Matic + "gdpr@cavi.au.dk" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi"; + }; + # ClearURLs + "{74145f27-f039-47ce-a470-a662b129930a}" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/clearurls/latest.xpi"; + }; + }; + FirefoxHome = { + Search = true; + TopSites = false; + SponsoredTopSites = false; + Highlights = false; + Pocket = false; + SponsoredPocket = false; + Snippets = false; + Locked = true; + }; + FirefoxSuggest = { + WebSuggestions = false; + SponsoredSuggestions = false; + ImproveSuggest = false; + Locked = true; + }; + HardwareAcceleration = true; + Homepage = { + Locked = true; + StartPage = "homepage-locked"; + }; + NewTabPage = true; + NoDefaultBookmarks = false; + OfferToSaveLogins = false; + PasswordManagerEnabled = false; + PDFjs = { + Enabled = false; + }; + Permissions = { + Autoplay = { + Default = "block-audio-video"; + }; + }; + PictureInPicture = { + Enabled = true; + }; + PopupBlocking = { + Default = true; + }; + RequestedLocales = [ "en-GB" ]; + SearchBar = "unified"; + ShowHomeButton = true; + StartDownloadsInTempDirectory = true; }; - search = rec { - default = "DuckDuckGo"; - privateDefault = default; - force = true; - order = [ - "DuckDuckGo" - "Atlas SearXNG" - ]; - engines = { - "Atlas SearXNG" = { - urls = [ { template = "https://search.atlas.engineer/searxng/search?q={searchTerms}"; } ]; - definedAliases = [ "@atlas" ]; - }; - "NixOS Wiki" = { - urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ - "@nix" - "@nixos" - "@nixoswiki" - ]; - }; - "Arch Wiki" = { - urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; - definedAliases = [ - "@aw" - "@arch" - "@archwiki" - ]; - }; - "GitHub" = { - urls = [ { template = "https://github.com/search?q={searchTerms}"; } ]; - definedAliases = [ - "@gh" - "@git" - "@github" - ]; - }; - "FlatHub" = { - url = [ { template = "https://flathub.org/apps/search?q={searchTerms}"; } ]; - definedAliases = [ - "@flat" - "@fthub" - "@flathub" - ]; - }; - "NixOS Packages" = { - urls = [ - { - template = "http://search.nixos.org/packages?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}"; - } - ]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@nixpkgs" ]; - }; - "PyPI packages" = { - urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ]; - definedAliases = [ "@pypi" ]; + profiles.default = { + bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json); + settings = { + "app.shield.optoutstudies.enabled" = false; + "browser.tabs.inTitlebar" = 0; + "browser.bookmarks.addedImportButton" = false; + "browser.bookmarks.showMobileBookmarks" = false; + "browser.toolbars.bookmarks.visibility" = "never"; + "browser.contentblocking.category" = "strict"; + "browser.search.region" = "GB"; + "browser.search.isUS" = false; + "browser.warnOnQuitShortcut" = false; + "browser.zoom.siteSpecific" = false; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "doh-rollout.home-region" = "GB"; + "dom.private-attribution.submission.enabled" = false; + "extensions.activeThemeID" = "default-theme@mozilla.org"; + "extensions.formautofill.creditCards.enabled" = false; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-gb,en"; + "intl.locale.requested" = "en-gb,en"; + "intl.regional_prefs.use_os_locales" = true; + "media.eme.enabled" = true; + "privacy.webrtc.legacyGlobalIndicator" = false; + "signon.management.page.breach-alerts.enabled" = false; + "signon.rememberSignons" = false; + "widget.use-xdg-desktop-portal.file-picker" = 1; + "widget.use-xdg-desktop-portal.mime-handler" = 1; + "widget.use-xdg-desktop-portal.open-uri" = 1; + "browser.newtabpage.pinned" = [ + { + title = "NixOS Wiki"; + url = "https://wiki.nixos.org"; + } + { + title = "Arch Wiki"; + url = "https://wiki.archlinux.org"; + } + ]; + }; + search = rec { + default = "DuckDuckGo"; + privateDefault = default; + force = true; + order = [ + "DuckDuckGo" + "Atlas SearXNG" + ]; + engines = { + "Atlas SearXNG" = { + urls = [ { template = "https://search.atlas.engineer/searxng/search?q={searchTerms}"; } ]; + definedAliases = [ "@atlas" ]; + }; + "NixOS Wiki" = { + urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ + "@nix" + "@nixos" + "@nixoswiki" + ]; + }; + "Arch Wiki" = { + urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; + definedAliases = [ + "@aw" + "@arch" + "@archwiki" + ]; + }; + "GitHub" = { + urls = [ { template = "https://github.com/search?q={searchTerms}"; } ]; + definedAliases = [ + "@gh" + "@git" + "@github" + ]; + }; + "FlatHub" = { + url = [ { template = "https://flathub.org/apps/search?q={searchTerms}"; } ]; + definedAliases = [ + "@flat" + "@fthub" + "@flathub" + ]; + }; + "NixOS Packages" = { + urls = [ + { + template = "http://search.nixos.org/packages?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}"; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@nixpkgs" ]; + }; + "PyPI packages" = { + urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ]; + definedAliases = [ "@pypi" ]; + }; }; }; };