729 lines
35 KiB
Nix
729 lines
35 KiB
Nix
{ config, lib, pkgs, ... }: {
|
||
options.snowflake.home.programs.firefox.enable =
|
||
lib.mkEnableOption "enable custom firefox";
|
||
|
||
config = lib.mkIf config.snowflake.home.programs.firefox.enable {
|
||
programs.firefox = {
|
||
enable = true;
|
||
# Policies apply at firefox global level
|
||
policies = {
|
||
"3rdparty" =
|
||
{ # Set policies that WebExtensions can access via chrome.storage.managed.
|
||
Extensions = {
|
||
# "uBlock0@raymondhill.net" = {
|
||
# adminSettings = {
|
||
# selectedFilterLists = [
|
||
# "ublock-privacy"
|
||
# "ublock-badware"
|
||
# "ublock-filters"
|
||
# "user-filters"
|
||
# ];
|
||
# };
|
||
# };
|
||
};
|
||
};
|
||
# AllowedDomainsForApps = ""; # Define domains allowed to access Google Workspace.
|
||
AllowFileSelectionDialogs = true; # Allow file selection dialogs.
|
||
AppAutoUpdate = false; # Enable or disable automatic application update.
|
||
# AppUpdatePin = ""; # Prevent Firefox from being updated beyond the specified version.
|
||
# AppUpdateURL = ""; # Change the URL for application update.
|
||
# Authentication = ""; # Configure sites that support integrated authentication.
|
||
AutoLaunchProtocolsFromOrigins =
|
||
[ # Define a list of external protocols that can be used from listed origins without prompting the user.
|
||
{
|
||
protocol = "zoommtg";
|
||
allowed_origins = [ "https://asu.zoom.us" ];
|
||
}
|
||
];
|
||
BackgroundAppUpdate =
|
||
false; # Enable or disable the background updater (Windows only).
|
||
# BlockAboutAddons = true; # Block access to the Add-ons Manager (about:addons).
|
||
# BlockAboutConfig = true; # Block access to about:config.
|
||
# BlockAboutProfiles = true; # Block access to About Profiles (about:profiles).
|
||
# BlockAboutSupport = true; # Block access to Troubleshooting Information (about:support).
|
||
# Bookmarks = ""; # use ManagedBookmarks instead - Add bookmarks in either the bookmarks toolbar or menu.
|
||
# CaptivePortal = ""; # Enable or disable the detection of captive portals.
|
||
# Certificates = {
|
||
# ImportEnterpriseRoots = ""; # Trust certificates that have been added to the operating system certificate store by a user or administrator.
|
||
# Install = ""; # Install certificates into the Firefox certificate store.
|
||
# };
|
||
# Containers = { # Set policies related to containers. - doesn't work, managing via individual profile
|
||
# quasar = [
|
||
# {
|
||
# name = "TheFourHorsemen";
|
||
# color = "orange";
|
||
# icon = "fingerprint";
|
||
# }
|
||
# {
|
||
# name = "Grapevine-Ameya";
|
||
# color = "purple";
|
||
# icon = "briefcase";
|
||
# }
|
||
# {
|
||
# name = "Grapevine";
|
||
# color = "pink";
|
||
# icon = "dollar";
|
||
# }
|
||
# {
|
||
# name = "Trized";
|
||
# color = "green";
|
||
# icon = "tree";
|
||
# }
|
||
# ];
|
||
# };
|
||
# Cookies = { # Configure cookie preferences.
|
||
# Allow = ["http://example.org/"];
|
||
# AllowSession = ["http://example.edu/"];
|
||
# Block = ["http://example.edu/"];
|
||
# Default = true;
|
||
# AcceptThirdParty = "never";
|
||
# RejectTracker = true;
|
||
# Locked = true;
|
||
# Behavior = "reject-tracker";
|
||
# BehaviorPrivateBrowsing = "accept";
|
||
# };
|
||
# DefaultDownloadDirectory = ""; # Set the default download directory.
|
||
DisableAppUpdate = true; # Turn off application updates.
|
||
DisableBuiltinPDFViewer =
|
||
true; # Disable the built in PDF viewer. said to have vulnerabilities; using PDFjs instead
|
||
# DisabledCiphers = { # Disable ciphers.
|
||
# TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = true;
|
||
# TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = true;
|
||
# TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = true;
|
||
# TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = true;
|
||
# TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = true;
|
||
# TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = true;
|
||
# TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = true;
|
||
# TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = true;
|
||
# TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = true;
|
||
# TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = true;
|
||
# TLS_DHE_RSA_WITH_AES_128_CBC_SHA = true;
|
||
# TLS_DHE_RSA_WITH_AES_256_CBC_SHA = true;
|
||
# TLS_RSA_WITH_AES_128_GCM_SHA256 = true;
|
||
# TLS_RSA_WITH_AES_256_GCM_SHA384 = true;
|
||
# TLS_RSA_WITH_AES_128_CBC_SHA = true;
|
||
# TLS_RSA_WITH_AES_256_CBC_SHA = true;
|
||
# TLS_RSA_WITH_3DES_EDE_CBC_SHA = true;
|
||
# };
|
||
# DisableDefaultBrowserAgent = ""; # Prevent the default browser agent from taking any actions (Windows only).
|
||
DisableDeveloperTools = false; # Remove access to all developer tools.
|
||
# DisableFeedbackCommands = false; # Disable the menus for reporting sites.
|
||
DisableFirefoxAccounts =
|
||
true; # Disable Firefox Accounts integration (Sync).
|
||
DisableFirefoxScreenshots =
|
||
true; # Remove access to Firefox Screenshots.
|
||
DisableFirefoxStudies = true; # Disable Firefox studies (Shield).
|
||
# DisableForgetButton = ""; # Disable the “Forget” button.
|
||
# DisableFormHistory = false; # Turn off saving information on web forms and the search bar.
|
||
DisableMasterPasswordCreation =
|
||
true; # Remove the master password functionality.
|
||
# DisablePasswordReveal = false; # Do not allow passwords to be revealed in saved logins.
|
||
DisablePocket = true; # Remove Pocket in the Firefox UI.
|
||
DisablePrivateBrowsing = false; # Remove access to private browsing.
|
||
DisableProfileImport =
|
||
true; # Disables the “Import data from another browser” option in the bookmarks window.
|
||
DisableProfileRefresh =
|
||
true; # Disable the Refresh Firefox button on about:support and support.mozilla.org
|
||
DisableSafeMode = false; # Disable safe mode within the browser.
|
||
# DisableSecurityBypass = { # Prevent the user from bypassing security in certain cases.
|
||
# InvalidCertificate = true;
|
||
# SafeBrowsing = true;
|
||
# };
|
||
DisableSetDesktopBackground =
|
||
true; # Remove the “Set As Desktop Background…” menuitem when right clicking on an image.
|
||
DisableSystemAddonUpdate =
|
||
true; # Prevent system add-ons from being installed or updated.
|
||
DisableTelemetry = true; # DisableTelemetry
|
||
# DisableThirdPartyModuleBlocking = ""; # Do not allow blocking third-party modules (windows only)
|
||
DisplayBookmarksToolbar =
|
||
"never"; # Set the initial state of the bookmarks toolbar.
|
||
DisplayMenuBar = "default-off"; # Set the state of the menubar.
|
||
DNSOverHTTPS =
|
||
{ # Configure DNS over HTTPS - test using -> https://one.one.one.one/help/
|
||
Enabled = true; # determines whether DNS over HTTPS is enabled
|
||
ProviderURL =
|
||
"https://mozilla.cloudflare-dns.com/dns-query"; # is a URL to another provider
|
||
Locked =
|
||
true; # prevents the user from changing DNS over HTTPS preferences
|
||
ExcludedDomains =
|
||
[ "example.com" ]; # excludes domains from DNS over HTTPS
|
||
Fallback =
|
||
true; # determines whether or not Firefox will use your default DNS resolver if there is a problem with the secure DNS provider
|
||
};
|
||
DontCheckDefaultBrowser =
|
||
true; # Don’t check if Firefox is the default browser at startup.
|
||
# DownloadDirectory = "/home/cc/Downloads/"; # Set and lock the download directory.
|
||
EnableTrackingProtection = { # Configure tracking protection.
|
||
Value = true;
|
||
Locked = true;
|
||
Cryptomining = true;
|
||
Fingerprinting = true;
|
||
EmailTracking = true;
|
||
# Exceptions = [
|
||
# "https://example.com"
|
||
# ];
|
||
};
|
||
EncryptedMediaExtensions =
|
||
{ # Enable or disable Encrypted Media Extensions (like widevine) and optionally lock it.
|
||
Enabled = true;
|
||
Locked = true;
|
||
};
|
||
# EnterprisePoliciesEnabled = ""; # Enable policy support on macOS.
|
||
# ExemptDomainFileTypePairsFromFileTypeDownloadWarnings = [ # Disable warnings based on file extension for specific file types on domains.
|
||
# {
|
||
# file_extension = "jnlp";
|
||
# domains = ["example.com"];
|
||
# }
|
||
# ];
|
||
# Extensions = ""; # use ExtensionSettings instead - Control the installation, uninstallation and locking of extensions.
|
||
# you can find the extension names in about:support -> Add-ons
|
||
ExtensionSettings = { # Manage all aspects of extensions.
|
||
"*" = {
|
||
installation_mode = "blocked";
|
||
blocked_install_message =
|
||
"You cannot install additional extensions without a declarative config! :)";
|
||
};
|
||
# "addons-search-detection@mozilla.com" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "bing@search.mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "ddg@search.mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "google@search.mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# Vimium
|
||
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4259790/vimium_ff-2.1.2.xpi"; # vimium-ff
|
||
};
|
||
# "wikipedia@search.mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "default-theme@mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
|
||
# 'Improve YouTube!' 🎧 (for YouTube & Videos)'
|
||
"{3c6bf0cc-3ae2-42fb-9993-0d33104fdcaf}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4375372/youtube_addon-4.1122.xpi"; # youtube-addon
|
||
};
|
||
# Tampermonkey
|
||
"firefox@tampermonkey.net" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4379021/tampermonkey-5.3.2.xpi"; # tampermonkey
|
||
};
|
||
# AI-based Grammar Checker & Paraphraser – LanguageTool
|
||
"languagetool-webextension@languagetool.org" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4341696/languagetool-8.11.8.xpi"; # languagetool
|
||
};
|
||
|
||
# Auto Discard Tab
|
||
"{c2c003ee-bd69-42a2-b0e9-6f34222cb046}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4045009/auto_tab_discard-0.6.7.xpi"; # auto-tab-discard
|
||
};
|
||
# Bitwarden - Free Password Manager
|
||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4371752/bitwarden_password_manager-2024.10.1.xpi"; # bitwarden-password-manager
|
||
};
|
||
# TODO: Bypass Paywalls Clean - not working, need to debug
|
||
"magnolia@12.34" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://gitflic.ru/project/magnolia1234/bpc_uploads/blob/raw?file=bypass_paywalls_clean-3.8.9.0.xpi"; # bypass paywalls clean
|
||
};
|
||
# CanvasBlocker
|
||
"CanvasBlocker@kkapsner.de" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4262820/canvasblocker-1.10.1.xpi"; # canvasblocker
|
||
};
|
||
# ClearURLs
|
||
"{74145f27-f039-47ce-a470-a662b129930a}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4064884/clearurls-1.26.1.xpi"; # clearurls
|
||
};
|
||
# Dark Reader
|
||
"addon@darkreader.org" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4378073/darkreader-4.9.96.xpi"; # darkreader
|
||
};
|
||
# Decentraleyes
|
||
"jid1-BoFifL9Vbdl2zQ@jetpack" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4255788/decentraleyes-2.0.19.xpi"; # decentraleyes
|
||
};
|
||
# Firefox Multi-Account Containers
|
||
"@testpilot-containers" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4355970/multi_account_containers-8.2.0.xpi"; # multi-account-containers
|
||
};
|
||
# Open external links in a container
|
||
"{f069aec0-43c5-4bbf-b6b4-df95c4326b98}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/3566167/open_url_in_container-1.0.3.xpi"; # open-url-in-container
|
||
};
|
||
# Privacy Badger
|
||
"jid1-MnnxcxisBPnSXQ@jetpack" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4321653/privacy_badger17-2024.7.17.xpi"; # privacy-badger17
|
||
};
|
||
# React Developer Tools
|
||
"@react-devtools" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4360002/react_devtools-6.0.0.xpi"; # react-devtools
|
||
};
|
||
# Read Aloud: A Text to Speech Voice Reader
|
||
"{ddc62400-f22d-4dd3-8b4a-05837de53c2e}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4350883/read_aloud-1.73.0.xpi"; # read-aloud
|
||
};
|
||
# Return YouTube Dislike
|
||
"{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4371820/return_youtube_dislikes-3.0.0.18.xpi"; # return-youtube-dislikes
|
||
};
|
||
# Search by Image
|
||
"{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/2821476/search-2.0.xpi"; # search_by_image
|
||
};
|
||
# Sidebery
|
||
"{3c078156-979c-498b-8990-85f7987dd929}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4246774/sidebery-5.2.0.xpi"; # sidebery
|
||
};
|
||
# SponsorBlock for YouTube - Skip Sponsorships
|
||
"sponsorBlocker@ajay.app" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4372080/sponsorblock-5.9.5.xpi"; # sponsorblock
|
||
};
|
||
# GSConnect
|
||
"gsconnect@andyholmes.github.io" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/3626312/gsconnect-8.xpi"; # gsconnect
|
||
};
|
||
# # DeArrow
|
||
# # removing this since it's not that useful and also slows down the loading speed of youtube
|
||
# "deArrow@ajay.app" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "https://addons.mozilla.org/firefox/downloads/file/4254118/dearrow-1.5.11.xpi";
|
||
# };
|
||
# Stylebot
|
||
"{52bda3fd-dc48-4b3d-a7b9-58af57879f1e}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/3979493/stylebot_web-3.1.3.xpi"; # stylebot-web
|
||
};
|
||
# Tab Stash
|
||
"tab-stash@condordes.net" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4361352/tab_stash-3.1.1.xpi"; # tab-stash
|
||
};
|
||
# Tabliss
|
||
"extension@tabliss.io" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/3940751/tabliss-2.6.0.xpi"; # tabliss
|
||
};
|
||
# uBlacklist
|
||
"@ublacklist" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4327308/ublacklist-8.9.2.xpi"; # ublacklist
|
||
};
|
||
# uBlock Origin
|
||
"uBlock0@raymondhill.net" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.60.0.xpi"; # ublock-origin
|
||
};
|
||
# User-Agent Switcher and Manager
|
||
"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4098688/user_agent_string_switcher-0.5.0.xpi"; # user-agent-string-switcher
|
||
};
|
||
# Video Speed Controller
|
||
"{7be2ba16-0f1e-4d93-9ebc-5164397477a9}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/3756025/videospeed-0.6.3.3.xpi"; # videospeed
|
||
};
|
||
# Web Archives
|
||
"{d07ccf11-c0cd-4938-a265-2a4d6ad01189}" = {
|
||
installation_mode = "force_installed";
|
||
install_url =
|
||
"https://addons.mozilla.org/firefox/downloads/file/4361316/view_page_archive-7.0.0.xpi"; # view-page-archive
|
||
};
|
||
# "firefox-compact-dark@mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "firefox-alpenglow@mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
# "firefox-compact-light@mozilla.org" = {
|
||
# installation_mode = "force_installed";
|
||
# install_url = "";
|
||
# };
|
||
|
||
# "uBlock0@raymondhill.net": {
|
||
# "installation_mode": "force_installed",
|
||
# "install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"
|
||
# },
|
||
# "https-everywhere@eff.org": {
|
||
# "installation_mode": "allowed",
|
||
# "updates_disabled": false
|
||
# }
|
||
};
|
||
ExtensionUpdate = false; # Control extension updates.
|
||
FirefoxHome = { # Customize the Firefox Home page.
|
||
Search = false;
|
||
TopSites = false;
|
||
SponsoredTopSites = false;
|
||
Highlights = false;
|
||
Pocket = false;
|
||
SponsoredPocket = false;
|
||
Snippets = false;
|
||
# Locked = true;
|
||
};
|
||
FirefoxSuggest = { # Customize Firefox Suggest.
|
||
WebSuggestions = false;
|
||
SponsoredSuggestions = false;
|
||
ImproveSuggest = false;
|
||
# Locked = true;
|
||
};
|
||
GoToIntranetSiteForSingleWordEntryInAddressBar =
|
||
false; # Force direct intranet site navigation instead of searching when typing single word entries in the address bar.
|
||
Handlers = { # Configure default application handlers.
|
||
# mimeTypes = {
|
||
# "application/msword" = {
|
||
# action = "useSystemDefault";
|
||
# ask = false;
|
||
# };
|
||
# };
|
||
schemes = {
|
||
mailto = {
|
||
action = "useHelperApp";
|
||
ask = true;
|
||
handlers = [{
|
||
name = "Gmail";
|
||
uriTemplate =
|
||
"https://mail.google.com/mail/?extsrc=mailto&url=%s";
|
||
}];
|
||
};
|
||
};
|
||
# extensions = {
|
||
# pdf = {
|
||
# action = "useHelperApp";
|
||
# ask = true;
|
||
# handlers = [
|
||
# {
|
||
# name = "Adobe Acrobat";
|
||
# path = "/usr/bin/acroread";
|
||
# }
|
||
# ];
|
||
# };
|
||
# };
|
||
};
|
||
|
||
# Control hardware acceleration.
|
||
# - this exposis points for fingerprinting, so disabling it helps
|
||
# - but when enabled it gives a massive performace improvement
|
||
# To check: See about:support. If your compositor is WebRender without any caveats (like software), your Firefox is hardware accelerated
|
||
HardwareAcceleration = true;
|
||
|
||
Homepage = { # Configure the default homepage and how Firefox starts.
|
||
# URL = "http://example.com/";
|
||
# Locked = true;
|
||
# Additional = [
|
||
# "http://example.org/"
|
||
# "http://example.edu/"
|
||
# ];
|
||
StartPage = "previous-session";
|
||
};
|
||
# InstallAddonsPermission = { # Configure the default extension install policy as well as origins for extension installs are allowed.
|
||
# Allow = [];
|
||
# Default = false;
|
||
# };
|
||
# LegacyProfiles = ""; # Disable the feature enforcing a separate profile for each installation.
|
||
# LegacySameSiteCookieBehaviorEnabled = ""; # Enable default legacy SameSite cookie behavior setting.
|
||
# LegacySameSiteCookieBehaviorEnabledForDomainList = ""; # Revert to legacy SameSite behavior for cookies on specified sites.
|
||
# LocalFileLinks = ""; # Enable linking to local files by origin.
|
||
ManagedBookmarks =
|
||
[ # Configures a list of bookmarks managed by an administrator that cannot be changed by the user.
|
||
{ toplevel_name = "My managed bookmarks folder"; }
|
||
{
|
||
url = "codingcoffee.dev";
|
||
name = "CodingCoffee";
|
||
}
|
||
{
|
||
name = "LLM";
|
||
children = [
|
||
{
|
||
url = "https://claude.ai/chats";
|
||
name = "Claude";
|
||
}
|
||
{
|
||
url = "https://chat.openai.com/chats";
|
||
name = "ChatGPT";
|
||
}
|
||
];
|
||
}
|
||
];
|
||
ManualAppUpdateOnly =
|
||
true; # Allow manual updates only and do not notify the user about updates.
|
||
NetworkPrediction =
|
||
true; # Enable or disable network prediction (DNS prefetching).
|
||
# NewTabPage = true; # Enable or disable the New Tab page.
|
||
NoDefaultBookmarks = true; # Disable the creation of default bookmarks.
|
||
OfferToSaveLogins =
|
||
false; # Control whether or not Firefox offers to save passwords. Managed by KeepAss instead
|
||
# OfferToSaveLoginsDefault = false; # ignored because OfferToSaveLogins is present - Set the default value for whether or not Firefox offers to save passwords.
|
||
# OverrideFirstRunPage = ""; # Override the first run page.
|
||
# OverridePostUpdatePage = ""; # Override the upgrade page.
|
||
PasswordManagerEnabled =
|
||
false; # Remove (some) access to the password manager.
|
||
# PasswordManagerExceptions = []; # Prevent Firefox from saving passwords for specific sites.
|
||
PDFjs = { # Disable or configure PDF.js, the built-in PDF viewer.
|
||
Enabled = true;
|
||
EnablePermissions = false;
|
||
};
|
||
Permissions =
|
||
{ # Set permissions associated with camera, microphone, location, and notifications.
|
||
Camera = {
|
||
Allow = [ "https://meet.google.com" ];
|
||
Block = [ ];
|
||
BlockNewRequests = false;
|
||
Locked = false;
|
||
};
|
||
Microphone = {
|
||
Allow = [ "https://meet.google.com" ];
|
||
Block = [ ];
|
||
BlockNewRequests = false;
|
||
Locked = false;
|
||
};
|
||
Location = {
|
||
Allow = [ ];
|
||
Block = [ ];
|
||
BlockNewRequests = false;
|
||
Locked = false;
|
||
};
|
||
Notification = {
|
||
Allow = [ ];
|
||
Block = [ ];
|
||
BlockNewRequests = false;
|
||
Locked = false;
|
||
};
|
||
Autoplay = {
|
||
Allow = [ ];
|
||
Block = [ ];
|
||
Default = "block-audio-video";
|
||
Locked = false;
|
||
};
|
||
};
|
||
PictureInPicture = { # Enable or disable Picture-in-Picture.
|
||
Enabled = false;
|
||
Locked = true;
|
||
};
|
||
PopupBlocking =
|
||
{ # Configure the default pop-up window policy as well as origins for which pop-up windows are allowed.
|
||
Allow = [ "https://mail.google.com" ];
|
||
Default = false;
|
||
Locked = true;
|
||
};
|
||
# Preferences = ""; # Set and lock preferences.
|
||
# PrimaryPassword = ""; # Require or prevent using a primary (formerly master) password.
|
||
PrintingEnabled = true; # Enable or disable printing.
|
||
PromptForDownloadLocation =
|
||
true; # Ask where to save each file before downloading.
|
||
# Proxy = ""; # Configure proxy settings.
|
||
# RequestedLocales = "en-US"; # Set the the list of requested locales for the application in order of preference.
|
||
SearchBar = "unified"; # Set whether or not search bar is displayed.
|
||
SearchSuggestEnabled = false; # Enable search suggestions.
|
||
# SecurityDevices = ""; # Install PKCS #11 modules.
|
||
ShowHomeButton = false; # Show the home button on the toolbar.
|
||
# SSLVersionMax = ""; # Set and lock the maximum version of TLS.
|
||
# SSLVersionMin = ""; # Set and lock the minimum version of TLS.
|
||
StartDownloadsInTempDirectory =
|
||
true; # Force downloads to start off in a local, temporary location rather than the default download directory.
|
||
# SupportMenu = ""; # Add a menuitem to the help menu for specifying support information.
|
||
UserMessaging = { # Don’t show certain messages to the user.
|
||
WhatsNew = false;
|
||
ExtensionRecommendations = true;
|
||
FeatureRecommendations = true;
|
||
UrlbarInterventions = true;
|
||
SkipOnboarding = true;
|
||
MoreFromMozilla = true;
|
||
Locked = true;
|
||
};
|
||
UseSystemPrintDialog =
|
||
false; # Print using the system print dialog instead of print preview.
|
||
# WebsiteFilter = { # Block websites from being visited.
|
||
# Block = [
|
||
# "<all_urls>"
|
||
# ];
|
||
# Exceptions = [
|
||
# "http://example.org/*"
|
||
# ];
|
||
# };
|
||
# WindowsSSO = ""; # Allow Windows single sign-on for Microsoft, work, and school accounts.
|
||
};
|
||
profiles = {
|
||
quasar = {
|
||
id = 0;
|
||
name = "quasar";
|
||
isDefault = true;
|
||
|
||
# to remove the file containers.json and force replace it with a symlink
|
||
containersForce = true;
|
||
|
||
containers = {
|
||
"TheFourHorsemen" = {
|
||
id = 1;
|
||
color = "orange";
|
||
icon = "fingerprint";
|
||
};
|
||
"Grapevine-Ameya" = {
|
||
id = 2;
|
||
color = "purple";
|
||
icon = "briefcase";
|
||
};
|
||
"Grapevine" = {
|
||
id = 3;
|
||
color = "pink";
|
||
icon = "dollar";
|
||
};
|
||
"Trized" = {
|
||
id = 5;
|
||
color = "green";
|
||
icon = "tree";
|
||
};
|
||
};
|
||
|
||
# NOTE: the way to figure this out is to
|
||
# 1. take a backup of the prefs.js file
|
||
# 2. make the change manually in firefox setting
|
||
# 3. see the diff of the backed up pref.js file with the new pref.js file
|
||
# These will apply at the individual profile level. Policies apply at firefox global level
|
||
settings = {
|
||
# Open previous windows and tabs
|
||
"browser.startup.page" = 3;
|
||
# Confirm before closing multiple tabs
|
||
"browser.tabs.warnOnClose" = true;
|
||
# When you open a link, image or media in a new tab, switch to it
|
||
# immediately within firefox, not when coming from outside of firefox
|
||
"browser.tabs.loadInBackground" = true;
|
||
# What should Firefox do with other files?
|
||
"browser.download.always_ask_before_handling_new_types" = true;
|
||
# Play DRM-controlled content
|
||
"media.eme.enabled" = true;
|
||
# Show search suggestions ahead of browsing history in address bar results
|
||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||
# Tell websites not to sell or share my data
|
||
"privacy.donottrackheader.enabled" = true;
|
||
# Send websites a “Do Not Track” request
|
||
"privacy.globalprivacycontrol.enabled" = true;
|
||
"privacy.globalprivacycontrol.was_ever_enabled" = true;
|
||
# Allow Firefox to install and run studies
|
||
"app.shield.optoutstudies.enabled" = false;
|
||
# Allow Firefox to send technical and interaction data to Mozilla
|
||
"datareporting.healthreport.uploadEnabled" = false;
|
||
# Pocket - Recommend Stories
|
||
"browser.newtabpage.activity-stream.feeds.section.topstories" =
|
||
false;
|
||
|
||
"browser.disableResetPrompt" = true;
|
||
"browser.download.panel.shown" = true;
|
||
"browser.download.useDownloadDir" = false;
|
||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||
"browser.shell.checkDefaultBrowser" = false;
|
||
# "browser.shell.defaultBrowserCheckCount" = 1;
|
||
# "browser.startup.homepage" = "https://start.duckduckgo.com";
|
||
"browser.uiCustomization.state" = ''
|
||
{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["_3c6bf0cc-3ae2-42fb-9993-0d33104fdcaf_-browser-action","sponsorblocker_ajay_app-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_7be2ba16-0f1e-4d93-9ebc-5164397477a9_-browser-action","_c2c003ee-bd69-42a2-b0e9-6f34222cb046_-browser-action","_react-devtools-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","_ublacklist-browser-action","canvasblocker_kkapsner_de-browser-action","magnolia_12_34-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","firefox_tampermonkey_net-browser-action","languagetool-webextension_languagetool_org-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","urlbar-container","customizableui-special-spring2","downloads-button","fxa-toolbar-menu-button","_testpilot-containers-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","addon_darkreader_org-browser-action","_52bda3fd-dc48-4b3d-a7b9-58af57879f1e_-browser-action","_ddc62400-f22d-4dd3-8b4a-05837de53c2e_-browser-action","ublock0_raymondhill_net-browser-action","unified-extensions-button","_3c078156-979c-498b-8990-85f7987dd929_-browser-action","tab-stash_condordes_net-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["managed-bookmarks","import-button","personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action","_3c078156-979c-498b-8990-85f7987dd929_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_7be2ba16-0f1e-4d93-9ebc-5164397477a9_-browser-action","_c2c003ee-bd69-42a2-b0e9-6f34222cb046_-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","_react-devtools-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","addon_darkreader_org-browser-action","_ublacklist-browser-action","canvasblocker_kkapsner_de-browser-action","_testpilot-containers-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","sponsorblocker_ajay_app-browser-action","magnolia_12_34-browser-action","tab-stash_condordes_net-browser-action","jid1-bofifl9vbdl2zq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","firefox_tampermonkey_net-browser-action","languagetool-webextension_languagetool_org-browser-action","_3c6bf0cc-3ae2-42fb-9993-0d33104fdcaf_-browser-action","_52bda3fd-dc48-4b3d-a7b9-58af57879f1e_-browser-action","_ddc62400-f22d-4dd3-8b4a-05837de53c2e_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","unified-extensions-area","toolbar-menubar","TabsToolbar"],"currentVersion":20,"newElementCount":7}'';
|
||
"dom.security.https_only_mode" = true;
|
||
"identity.fxaccounts.enabled" = false;
|
||
"privacy.trackingprotection.enabled" = true;
|
||
"signon.rememberSignons" = false;
|
||
|
||
# ensure hardware video decoding on ff to save battery
|
||
"media.hardware-video-decoding.enabled" = true;
|
||
};
|
||
search = {
|
||
force = true;
|
||
default = "Google";
|
||
order = [ "Google" ];
|
||
engines = {
|
||
"Nix Packages" = {
|
||
urls = [{
|
||
template = "https://search.nixos.org/packages";
|
||
params = [
|
||
{
|
||
name = "type";
|
||
value = "packages";
|
||
}
|
||
{
|
||
name = "query";
|
||
value = "{searchTerms}";
|
||
}
|
||
];
|
||
}];
|
||
icon =
|
||
"''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||
definedAliases = [ "@np" ];
|
||
};
|
||
"NixOS Wiki" = {
|
||
urls = [{
|
||
template =
|
||
"https://nixos.wiki/index.php?search={searchTerms}";
|
||
}];
|
||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||
definedAliases = [ "@nw" ];
|
||
};
|
||
"Bing".metaData.hidden = true;
|
||
"Google".metaData.alias =
|
||
"@g"; # builtin engines only support specifying one additional alias
|
||
};
|
||
};
|
||
};
|
||
};
|
||
};
|
||
};
|
||
}
|