summaryrefslogtreecommitdiff
path: root/common/programs/zenBrowser.nix
diff options
context:
space:
mode:
authorbrustybee <bee@4d2.org>2026-03-07 03:29:12 +0530
committerbrustybee <bee@4d2.org>2026-03-07 03:29:12 +0530
commitb7ab4668c6dd7d6b153b9bf7ea3923ebe93f1ddd (patch)
tree3bf53c774892f46c51c3b32189cc6fcca9fb5272 /common/programs/zenBrowser.nix
parent867ecf6308390acf8188880c34e0312e75619fae (diff)
Add firefox and zen browser
Diffstat (limited to 'common/programs/zenBrowser.nix')
-rw-r--r--common/programs/zenBrowser.nix115
1 files changed, 115 insertions, 0 deletions
diff --git a/common/programs/zenBrowser.nix b/common/programs/zenBrowser.nix
new file mode 100644
index 0000000..60a4ae3
--- /dev/null
+++ b/common/programs/zenBrowser.nix
@@ -0,0 +1,115 @@
+{
+ inputs,
+ pkgs,
+ lib,
+ ...
+}:
+let
+ extension = shortId: guid: {
+ name = guid;
+ value = {
+ install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
+ installation_mode = "normal_installed";
+ private_browsing = true;
+ default_area = "menupanel"; # menupanel = unpin, navbar = pin
+ };
+ };
+
+ prefs = {
+ "browser.aboutConfig.showWarning" = false;
+ "browser.sessionstore.resume_from_crash" = false;
+ "browser.sessionstore.restore_on_demand" = false;
+ "browser.sessionstore.restore_tabs_lazily" = false;
+ "browser.sessionstore.restore_windows_to_virtual_desktop" = false;
+ "browser.sessionstore.max_resumed_crashes" = 0;
+ "gfx.webrender.all" = true;
+ "gfx.webrender.compositor" = true;
+ "gfx.x11-egl.force-enabled" = true;
+ "layers.acceleration.force-enabled" = true;
+ "media.ffmpeg.vaapi.enabled" = true;
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ "zen.welcome-screen.seen" = true;
+ };
+
+ extensions = [
+ (extension "ublock-origin" "uBlock0@raymondhill.net")
+ (extension "darkreader" "addon@darkreader.org")
+ ];
+in
+{
+ home.packages = [
+ (pkgs.wrapFirefox
+ inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
+ {
+ extraPrefs = lib.concatLines (
+ lib.mapAttrsToList (
+ name: value: "lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});"
+ ) prefs
+ );
+
+ extraPolicies = {
+ DisableTelemetry = true;
+ AutofillAddressEnabled = true;
+ AutofillCreditCardEnabled = false;
+ DisableAppUpdate = true;
+ DisableFeedbackCommands = true;
+ DisableFirefoxStudies = true;
+ DisablePocket = true;
+ DontCheckDefaultBrowser = true;
+ NoDefaultBookmarks = true;
+ DisableFirefoxScreenshots = true;
+ OfferToSaveLogins = false;
+ EnableTrackingProtection = {
+ Value = true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ DNSOverHTTPS = {
+ Enabled = true;
+ ProviderURL = "https://dns.quad9.net/dns-query";
+ Locked = true;
+ Fallback = true;
+ };
+
+ ExtensionSettings = builtins.listToAttrs extensions;
+
+ SearchEngines = {
+ Default = "DuckDuckGo";
+ PreventInstalls = true;
+ Remove = [
+ "Google"
+ "Bing"
+ ];
+ Add = [
+ {
+ Name = "nixpkgs packages";
+ URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":np";
+ }
+ {
+ Name = "NixOS options";
+ URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":no";
+ }
+ {
+ Name = "NixOS Wiki";
+ URLTemplate = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":nw";
+ }
+ {
+ Name = "noogle";
+ URLTemplate = "https://noogle.dev/q?term={searchTerms}";
+ IconURL = "https://noogle.dev/favicon.ico";
+ Alias = ":ng";
+ }
+ ];
+ };
+ };
+ }
+ )
+ ];
+}