summaryrefslogtreecommitdiff
path: root/common/programs/librewolf.nix
blob: d5bdea40d05c146dcab121e3ce47d47474f6ca2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{
  pkgs,
  lib,
  config,
  inputs,
  ...
}:
{
  programs.librewolf = {
    enable = true;
    policies = {
      ExtensionSettings = {
        # "uBlock0@raymondhill.net" = {
        #   default_area = "menupanel";
        #   installation_mode = "force_installed";
        #   install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
        #   private_browsing = true;
        # };
        "addon@darkreader.org" = {
          default_area = "menupanel";
          installation_mode = "force_installed";
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
          private_browsing = true;
        };
        "{9a41dee2-b924-4161-a971-7fb35c053a4a}" = {
          default_area = "menupanel";
          installation_mode = "force_installed";
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/enhanced-h264ify/latest.xpi";
          private_browsing = true;
        };
        "sponsorBlocker@ajay.app" = {
          default_area = "menupanel";
          installation_mode = "force_installed";
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
          private_browsing = true;
        };
      };
    };

    profiles.default = {
      settings = {
        "privacy.trackingprotection.enabled" = true;
        "privacy.trackingprotection.socialtracking.enabled" = true;
        "privacy.globalprivacycontrol.enabled" = true;
        "browser.contentblocking.category" = "strict";

        "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
        "svg.context-properties.content.enabled" = true;

        # Performance
        "layers.acceleration.enabled" = true;
        "media.hardware-video-decoding.force-enabled" = true;
        "media.hardware-video-decoding.enabled" = true;
        "browser.tabs.unloadOnLowMemory" = true;
        "browser.low_commit_space_threshold_percent" = 100;
        "browser.tabs.min_inactive_duration_before_unload" = 3600000;
        "gfx.webrender.all" = true;
        "gfx.webrender.compositor" = true;
        "gfx.x11-egl.force-enabled" = true;
        "layers.acceleration.force-enabled" = true;
        "media.ffmpeg.vaapi.enabled" = true;

        "browser.toolbars.bookmarks.visibility" = "never";
        "widget.use-xdg-desktop-portal.file-picker" = 1;
      };
      userChrome = ''
        @import "firefox-gnome-theme/userChrome.css";
        * {
          font-family: "IosevkaInput" !important;
          border-radius: 0px !important;
        }

      '';
      userContent = ''
        @import "firefox-gnome-theme/userContent.css";
        * {
          font-family: "IosevkaInput" !important;
          border-radius: 0px !important;
        }
      '';

      search = {
        force = true;
        engines = {
          nix-packages = {
            name = "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 = {
            name = "NixOS Wiki";
            urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
            iconMapObj."16" = "https://wiki.nixos.org/favicon.ico";
            definedAliases = [ ":nw" ];
          };
          amazon.metaData.hidden = true;
          ebay.metaData.hidden = true;
          perplexity.metaData.hidden = true;

          google.metaData.alias = ":g";
          bing.metaData.alias = ":b";
        };
      };
    };
  };
}