145 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{pkgs, inputs, ...}:
 | 
						|
{
 | 
						|
  programs.firefox = {
 | 
						|
    ## Enable the Firefox web browser
 | 
						|
    enable = true;
 | 
						|
    ## Global preferences
 | 
						|
    policies = {
 | 
						|
      BlockAboutConfig = true;
 | 
						|
      DefaultDownloadDirectory = "\${home}/Downloads";
 | 
						|
      ExtensionSettings = with builtins;
 | 
						|
        let extension = shortId: uuid: {
 | 
						|
          name = uuid;
 | 
						|
          value = {
 | 
						|
            install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
 | 
						|
            installation_mode = "normal_installed";
 | 
						|
          };
 | 
						|
        };
 | 
						|
        in listToAttrs [
 | 
						|
          (extension "ublock-origin" "uBlock0@raymondhill.net")
 | 
						|
          (extension "tabliss" "extension@tabliss.io")
 | 
						|
          (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
 | 
						|
          (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
 | 
						|
          (extension "ghostery" "firefox@ghostery.com")
 | 
						|
        ];
 | 
						|
    };
 | 
						|
 | 
						|
    ## Per-profile preferences
 | 
						|
    profiles.default = {
 | 
						|
      search = {
 | 
						|
        force = true;
 | 
						|
        default = "ddg";
 | 
						|
        privateDefault = "ddg";
 | 
						|
        order = ["ddg" "google"];
 | 
						|
      };
 | 
						|
      settings = {
 | 
						|
        "browser.startup.homepage" = "about:home";
 | 
						|
 | 
						|
        # Disable irritating first-run stuff
 | 
						|
        "browser.disableResetPrompt" = true;
 | 
						|
        "browser.download.panel.shown" = true;
 | 
						|
        "browser.feeds.showFirstRunUI" = false;
 | 
						|
        "browser.messaging-system.whatsNewPanel.enabled" = false;
 | 
						|
        "browser.rights.3.shown" = true;
 | 
						|
        "browser.shell.checkDefaultBrowser" = false;
 | 
						|
        "browser.shell.defaultBrowserCheckCount" = 1;
 | 
						|
        "browser.startup.homepage_override.mstone" = "ignore";
 | 
						|
        "browser.uitour.enabled" = false;
 | 
						|
        "startup.homepage_override_url" = "";
 | 
						|
        "trailhead.firstrun.didSeeAboutWelcome" = true;
 | 
						|
        "browser.bookmarks.restore_default_bookmarks" = false;
 | 
						|
        "browser.bookmarks.addedImportButton" = true;
 | 
						|
 | 
						|
        # Disable "save password" prompt
 | 
						|
        "signon.rememberSignons" = false;
 | 
						|
 | 
						|
        # Harden
 | 
						|
        "privacy.trackingprotection.enabled" = true;
 | 
						|
        "dom.security.https_only_mode" = true;
 | 
						|
 | 
						|
        # Disable Pocket
 | 
						|
        "extensions.pocket.enabled" = false;
 | 
						|
 | 
						|
        # Disable telemetry
 | 
						|
        "toolkit.telemetry.enabled" = false;
 | 
						|
 | 
						|
        # Remove bookmarks toolbar
 | 
						|
        "browser.toolbars.bookmarks.visibility" = "never";
 | 
						|
 | 
						|
        # Restore session on startup
 | 
						|
        "browser.startup.page" = 3;
 | 
						|
 | 
						|
        # Automatically enable extensions
 | 
						|
        "extensions.autoDisableScopes" = 0;
 | 
						|
 | 
						|
 | 
						|
      };
 | 
						|
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  home.packages = with pkgs; [
 | 
						|
    inputs.zen-browser.packages."${system}".default
 | 
						|
 | 
						|
    # inputs.zen-browser.packages."${system}".default.override {
 | 
						|
    #   policies = {
 | 
						|
    #     DisableAppUpdate = true;
 | 
						|
    #     DisableTelemetry = true;
 | 
						|
 | 
						|
    #     OfferToSaveLogins = false;
 | 
						|
    #     AutofillAddressEnabled = true;
 | 
						|
    #     AutofillCreditCardEnabled = false;
 | 
						|
    #     # BlockAboutConfig = true;
 | 
						|
 | 
						|
    #     DefaultDownloadDirectory = "\${home}/Downloads";
 | 
						|
 | 
						|
    #     ExtensionSettings = with builtins;
 | 
						|
    #       let extension = shortId: uuid: {
 | 
						|
    #         name = uuid;
 | 
						|
    #         value = {
 | 
						|
    #           install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
 | 
						|
    #           installation_mode = "normal_installed";
 | 
						|
    #         };
 | 
						|
    #       };
 | 
						|
    #       in listToAttrs [
 | 
						|
    #         (extension "ublock-origin" "uBlock0@raymondhill.net")
 | 
						|
    #         (extension "ghostery" "firefox@ghostery.com")
 | 
						|
    #         (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
 | 
						|
    #         (extension "morphine" "{b252db54-e4f6-440f-914a-1f017a3a390d}")
 | 
						|
    #       ];
 | 
						|
    #   };
 | 
						|
    # }
 | 
						|
 | 
						|
  ];
 | 
						|
  # programs.zen-browser = {
 | 
						|
  #   enable = true;
 | 
						|
 | 
						|
  #   policies = {
 | 
						|
  #     DisableAppUpdate = true;
 | 
						|
  #     DisableTelemetry = true;
 | 
						|
 | 
						|
  #     OfferToSaveLogins = false;
 | 
						|
  #     AutofillAddressEnabled = true;
 | 
						|
  #     AutofillCreditCardEnabled = false;
 | 
						|
  #     # BlockAboutConfig = true;
 | 
						|
 | 
						|
  #     DefaultDownloadDirectory = "\${home}/Downloads";
 | 
						|
 | 
						|
  #     ExtensionSettings = with builtins;
 | 
						|
  #       let extension = shortId: uuid: {
 | 
						|
  #         name = uuid;
 | 
						|
  #         value = {
 | 
						|
  #           install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
 | 
						|
  #           installation_mode = "normal_installed";
 | 
						|
  #         };
 | 
						|
  #       };
 | 
						|
  #       in listToAttrs [
 | 
						|
  #         (extension "ublock-origin" "uBlock0@raymondhill.net")
 | 
						|
  #         (extension "ghostery" "firefox@ghostery.com")
 | 
						|
  #         (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org")
 | 
						|
  #         (extension "morphine" "{b252db54-e4f6-440f-914a-1f017a3a390d}")
 | 
						|
  #       ];
 | 
						|
  #   };
 | 
						|
  # };
 | 
						|
}
 |