summaryrefslogtreecommitdiff
path: root/modules/programs/firefox/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/programs/firefox/default.nix')
-rw-r--r--modules/programs/firefox/default.nix88
1 files changed, 88 insertions, 0 deletions
diff --git a/modules/programs/firefox/default.nix b/modules/programs/firefox/default.nix
new file mode 100644
index 0000000..dce7d0b
--- /dev/null
+++ b/modules/programs/firefox/default.nix
@@ -0,0 +1,88 @@
+{ config, lib, pkgs, ... }:
+
+let
+
+ extraPrefs = ''//
+
+// Automatically click cookiebanners although uBlock Origin might block them
+lockPref("cookiebanners.bannerClicking.enabled", true);
+lockPref("cookiebanners.service.mode", 2);
+lockPref("cookiebanners.service.mode.privateBrowsing", 2);
+
+// DNT although PrivacyBadger from policy handles this
+lockPref("privacy.donottrackheader.enabled", true);
+lockPref("privacy.donottrackheader.value", 1);
+
+// New sidebar
+lockPref("sidebar.revamp", true);
+lockPref("sidebar.verticalTabs", true);
+lockPref("sidebar.visibility", "always-show");
+lockPref("sidebar.main.tools", "history,bookmarks");
+
+//'';
+
+ userChrome = ''
+/* sidebar hack to flip contents the way i want them (arrows on the left) */
+#nav-bar-customization-target {
+ flex-direction: row-reverse;
+}
+
+/* remove broken padding from sidebar hack */
+#unified-extensions-button {
+ padding-left: 0 !important;
+}
+
+/* remove padding beside search bar */
+toolbarspring {
+ display: none !important;
+}
+
+/* remove overflow menu and everything in it */
+#nav-bar-overflow-button,
+#firefox-view-button,
+#alltabs-button {
+ visibility: collapse;
+}
+'';
+
+ my-firefox = (pkgs.firefox.override {
+ extraPrefs = extraPrefs;
+ });
+
+in
+{
+ config = lib.mkIf config.desktop.enable {
+
+ home-manager.users.${config.user} = {
+ programs.firefox = {
+
+ enable = true;
+ package = my-firefox;
+
+ # import configuration
+ policies = import ./policies.nix;
+
+ # create profile for me :3
+ profiles.${config.user} = {
+ search = {
+ force = true;
+ default = "DuckDuckGo";
+ engines = {
+ "Google".metaData.hidden = true;
+ "Bing".metaData.hidden = true;
+ "Amazon.com".metaData.hidden = true;
+ "eBay".metaData.hidden = true;
+ "Twitter".metaData.hidden = true;
+ };
+ };
+
+ # firefox doesnt make styling the toolbar easy using about:config
+ # since its just a massive json string. so i did it here in css.
+ userChrome = userChrome;
+ }; # end profile
+
+ };
+ };
+
+ };
+}