summaryrefslogtreecommitdiff
path: root/hm/soft/browser.nix
blob: 72f13c3293f19e6d6e12fe68d88fc775fcb83481 (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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
  config,
  lib,
  pkgs,
  ...
}:
let
  cfg = config.hm.soft.browser;
in
{
  options.hm.soft.browser = {
    librewolf.enable = lib.mkEnableOption "LibreWolf browser";
    brave.enable = lib.mkEnableOption "Brave browser";
  };
  config = lib.mkMerge [
    (lib.mkIf cfg.librewolf.enable {
      programs.librewolf = {
        enable = true;
        profiles = {
          main = {
            isDefault = true;
            name = "main";
            extensions = { };
            bookmarks = {
              force = true;
              settings = [
                {
                  name = "Toolbar Root";
                  toolbar = true;
                  bookmarks = [
                    {
                      name = "Youtube";
                      tags = [ "yt" ];
                      keyword = "yt";
                      url = "https://www.youtube.com";
                    }
                    {
                      name = "cwel";
                      tags = [ "cwel" ];
                      keyword = "cwel";
                      url = "https://gemini.google.com/app";
                    }
                  ];
                }
              ];
            };
            search = {
              force = true;
              default = "SearXNG";
              privateDefault = "SearXNG";
              engines = {
                "SearXNG" = {
                  urls = [ { template = "https://searx.tiekoetter.com/search?q={searchTerms}"; } ];
                  icon = "https://searx.tiekoetter.com/favicon.ico";
                  definedAliases = [ "@s" ];
                };
                "Nixos Packages" = {
                  urls = [
                    {
                      template = "https://search.nixos.org/packages";
                      params = [
                        {
                          name = "channel";
                          value = "unstable";
                        }
                        {
                          name = "query";
                          value = "{searchTerms}";
                        }
                      ];
                    }
                  ];
                  icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
                  definedAliases = [ "@nix" ];
                };
                "HM Options" = {
                  urls = [
                    {
                      template = "https://home-manager-options.extranix.com";
                      params = [
                        {
                          name = "query";
                          value = "{searchTerms}";
                        }
                        {
                          name = "release";
                          value = "master";
                        }
                      ];
                    }
                  ];
                };
                "google".metaData.hidden = true;
                "amazondotcom-us".metaData.hidden = true;
                "bing".metaData.hidden = true;
                "ebay".metaData.hidden = true;
                "duckduckgo".metaData.hidden = true;
                "wikipedia".metaData.hidden = true;
                "perplexity".metaData.hidden = true;
              };
            };
            settings = { };
          };
        };
        settings = {
          "ui.key.menuAccessKeyFocuses" = false;
          "browser.search.update" = false;
          "browser.formfill.enable" = false;
          "browser.search.suggest.enabled" = false;
          "signon.rememberSignons" = false;

          "browser.urlbar.suggest.history" = false;
          "browser.urlbar.suggest.bookmark" = false;
          "browser.urlbar.suggest.openpage" = false;
          "browser.urlbar.suggest.engines" = false;
          "browser.urlbar.suggest.topsites" = false;
          "browser.urlbar.showSearchTerms.featureGate" = false;

          "browser.toolbars.bookmarks.visibility" = "always";

          "privacy.clearOnShutdown.cookies" = true;
          "privacy.clearOnShutdown.cache" = true;

          "network.cookie.lifetimePolicy" = 0;
          "privacy.cpd.cookies" = true;

          # "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
          # "layout.css.prefers-color-scheme.content-override" = 0;
          # "browser.theme.content-theme" = 0;
          # "browser.theme.toolbar-theme" = 0;
        };
      };
      home.packages = [ pkgs.nixos-icons ];
    })

    (lib.mkIf cfg.brave.enable {
      home.packages = [ pkgs.brave ];
    })
  ];
}