dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
modules/apps/firefox.nix (4644B)
1## Firefox Browser Configuration ##
2{config, ...}: let
3 inherit (config) util;
4in {
5 flake.modules.homeManager.firefox = {pkgs, ...}: {
6 xdg.mimeApps.defaultApplications = util.build.mime {
7 browser = ["firefox.desktop"];
8 };
9
10 home = {
11 sessionVariables."MOZ_USE_XINPUT2" = "1";
12 persist.directories = [
13 ".cache/mozilla/firefox"
14 ".config/mozilla/firefox"
15 ];
16 };
17
18 programs.firefox = {
19 enable = true;
20 package = pkgs.firefox;
21
22 # Policies
23 policies = {
24 DisableTelemetry = true;
25 DisableFirefoxStudies = true;
26 DisablePocket = true;
27 EnableTrackingProtection = {
28 Value = true;
29 Locked = true;
30 Cryptomining = true;
31 Fingerprinting = true;
32 };
33
34 # Extensions
35 ExtensionSettings = let
36 extension = shortId: uuid: {
37 name = uuid;
38 value = {
39 installation_mode = "normal_installed";
40 install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
41 };
42 };
43 in
44 builtins.listToAttrs [
45 (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
46 (extension "darkreader" "addon@darkreader.org")
47 (extension "firefox-color" "FirefoxColor@mozilla.com")
48 (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
49 (extension "setupvpn" "@setupvpncom")
50 (extension "stylus" "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}")
51 (extension "tablissng" "extension@tabliss-maintained")
52 (extension "uaswitcher" "user-agent-switcher@ninetailed.ninja")
53 (extension "ublock-origin" "uBlock0@raymondhill.net")
54 ];
55 };
56
57 profiles.default = {
58 isDefault = true;
59 containersForce = true;
60
61 ## Flags
62 settings = {
63 # General
64 "browser.disableResetPrompt" = true;
65 "browser.onboarding.enabled" = false;
66 "browser.aboutConfig.showWarning" = false;
67 "browser.shell.checkDefaultBrowser" = false;
68 "browser.sessionstore.interval" = "1800000";
69 "browser.toolbars.bookmarks.visibility" = "always";
70 "browser.urlbar.showSearchSuggestionsFirst" = false;
71 "browser.urlbar.speculativeConnect.enabled" = false;
72 "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0;
73 "browser.search.openintab" = true;
74
75 # Features
76 "layout.spellcheckDefault" = 2;
77
78 # New Tab
79 "browser.newtabpage.activity-stream.feeds.section.highlights" = false;
80 "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
81 "browser.newtabpage.activity-stream.feeds.topsites" = false;
82 "browser.newtabpage.activity-stream.showSearch" = true;
83 "browser.newtabpage.activity-stream.showSponsored" = false;
84 "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
85 "browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
86 "browser.newtabpage.activity-stream.feeds.section.highlights.includePocket" = false;
87
88 # Theming
89 "browser.uidensity" = 0;
90 "devtools.theme" = "dark";
91 "layers.acceleration.force-enabled" = true;
92 "mozilla.widget.use-argb-visuals" = true;
93 "svg.context-properties.content.enabled" = true;
94 "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
95
96 # Passwords
97 "signon.autofillForms" = false;
98 "signon.rememberSignons" = false;
99 "signon.generation.enabled" = false;
100 "signon.management.page.breach-alerts.enabled" = false;
101
102 # Extensions
103 "extensions.pocket.enabled" = false;
104 "extensions.htmlaboutaddons.inline-options.enabled" = false;
105 "extensions.htmlaboutaddons.recommendations.enabled" = false;
106 "extensions.webextensions.ExtensionStorageIDB.enabled" = true;
107
108 # Security
109 "security.family_safety.mode" = 0;
110 "security.pki.sha1_enforcement_level" = 1;
111 "security.tls.enable_0rtt_data" = false;
112
113 # Reports
114 "breakpad.reportURL" = "";
115 "browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
116 "browser.tabs.crashReporting.sendReport" = false;
117 "datareporting.healthreport.service.enabled" = false;
118 "datareporting.healthreport.uploadEnabled" = false;
119 "datareporting.policy.dataSubmissionEnabled" = false;
120 };
121 };
122 };
123 };
124}