old
1{
2 pkgs,
3 pkgs-stable,
4 ...
5}: {
6 catppuccin.firefox.profiles.default.enable = false;
7
8 programs.firefox = {
9 enable = true;
10 package = pkgs-stable.firefox;
11 languagePacks = ["zh-CN" "en-US"];
12 nativeMessagingHosts = with pkgs; [
13 kdePackages.plasma-browser-integration
14 ];
15
16 policies = {
17 DisableAppUpdate = true;
18 DisablePocket = true;
19 DisableSetDesktopBackground = true;
20 DisableTelemetry = true;
21 DontCheckDefaultBrowser = true;
22 ExtensionUpdate = false;
23 NoDefaultBookmarks = true;
24 OfferToSaveLogins = false;
25 PasswordManagerEnabled = false;
26 };
27
28 profiles.default = {
29 id = 0;
30 isDefault = true;
31 search = {
32 force = true;
33 default = "bing";
34 privateDefault = "duckduckgo";
35 order = [
36 "bing"
37 "google"
38 "duckduckgo"
39 ];
40 engines = {
41 baidu.metaData.hidden = true;
42 };
43 };
44 extensions.packages = let
45 my-addons = import ./addons (with pkgs; {
46 inherit lib fetchurl stdenv;
47 buildFirefoxXpiAddon = pkgs.nur.repos.rycee.firefox-addons.buildFirefoxXpiAddon;
48 });
49 in
50 with pkgs.nur.repos.rycee.firefox-addons; [
51 ublock-origin
52 bitwarden
53 tampermonkey
54 rsshub-radar
55 auto-tab-discard
56 aria2-integration
57 firefox-color
58 plasma-integration
59 aw-watcher-web
60 my-addons.lulu-translator
61 ];
62 settings = {
63 # No First Run
64 "app.normandy.first_run" = false;
65 "doh-rollout.doneFirstRun" = true;
66 "toolkit.telemetry.reportingpolicy.firstRun" = false;
67 "trailhead.firstrun.didSeeAboutWelcome" = true;
68 "browser.toolbarbuttons.introduced.sidebar-button" = true;
69 "sidebar.old-sidebar.has-used" = true;
70 "sidebar.new-sidebar.has-used" = true;
71 # Language
72 "general.useragent.locale" = "zh-CN";
73 "intl.locale.requested" = "zh-CN,en-US";
74 "browser.translations.mostRecentTargetLanguages" = "zh-Hans";
75 # No Ads
76 "browser.urlbar.suggest.topsites" = false;
77 "browser.urlbar.suggest.trending" = false;
78 "browser.newtabpage.pinned" = [];
79 "browser.newtabpage.activity-stream.showSponsored" = false;
80 "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
81 # General
82 "browser.startup.page" = 3; # Open prev session pages
83 "browser.tabs.unloadOnLowMemory" = true;
84 "widget.use-xdg-desktop-portal.file-picker" = 1;
85 # Apperance
86 "browser.newtabpage.activity-stream.feeds.topsites" = false;
87 "browser.newtabpage.activity-stream.default.sites" = "";
88 "browser.toolbars.bookmarks.visibility" = "always";
89 "sidebar.verticalTabs" = true;
90 "sidebar.main.tools" = "syncedtabs";
91 "sidebar.visibility" = "expand-on-hover";
92 "browser.uiCustomization.state" = {
93 "placements" = {
94 "widget-overflow-fixed-list" = [];
95 "unified-extensions-area" = [];
96 "nav-bar" = [
97 "sidebar-button"
98 "back-button"
99 "forward-button"
100 "stop-reload-button"
101 "vertical-spacer"
102 "customizableui-special-spring7"
103 "urlbar-container"
104 "customizableui-special-spring2"
105 "unified-extensions-button"
106 "fxa-toolbar-menu-button"
107 ];
108 "toolbar-menubar" = ["menubar-items"];
109 "TabsToolbar" = [];
110 "vertical-tabs" = ["tabbrowser-tabs"];
111 "PersonalToolbar" = ["personal-bookmarks"];
112 };
113 "seen" = ["developer-button"];
114 "dirtyAreaCache" = [];
115 };
116 # Disable Telemetry
117 "toolkit.telemetry.unified" = false;
118 "toolkit.telemetry.enabled" = false;
119 "toolkit.telemetry.server" = "data:,";
120 "toolkit.telemetry.archive.enabled" = false;
121 "toolkit.telemetry.newProfilePing.enabled" = false;
122 "toolkit.telemetry.shutdownPingSender.enabled" = false;
123 "toolkit.telemetry.updatePing.enabled" = false;
124 "toolkit.telemetry.bhrPing.enabled" = false;
125 "toolkit.telemetry.firstShutdownPing.enabled" = false;
126 "toolkit.telemetry.shutdownPingSender.enabledFirstsession" = false;
127 "browser.ping-centre.telemetry" = false;
128 "browser.newtabpage.activity-stream.feeds.telemetry" = false;
129 "browser.newtabpage.activity-stream.telemetry" = false;
130 };
131 };
132 };
133}