diff --git a/options.xhtml b/options.xhtml index d26d6e4d0..d4cda09c4 100644 --- a/options.xhtml +++ b/options.xhtml @@ -40094,8 +40094,7 @@ attribute set of (string or signed integer or list of (string or signed integer)
-

Whether to enable LibreWolf. LibreWolf is a privacy enhanced Firefox fork. -See programs.librewolf for more configuration options.

+

Whether to enable LibreWolf. LibreWolf is a privacy enhanced Firefox fork.

Type: boolean

@@ -40106,6 +40105,93 @@ boolean

Example: true

+

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.enableGnomeExtensions + + +
+
+

Whether to enable the GNOME Shell native host connector. Note, you +also need to set the NixOS option +services.gnome.gnome-browser-connector.enable to +true.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.package + + +
+
+

The LibreWolf package to use. If state version ≥ 19.09 then +this should be a wrapped LibreWolf package. For earlier state +versions it should be an unwrapped LibreWolf package. +Set to null to disable installing LibreWolf.

+ +

Type: +null or package

+ +

Default: +pkgs.librewolf

+ +

Example:

pkgs.librewolf.override {
+  # See nixpkgs' firefox/wrapper.nix to check which options you can use
+  nativeMessagingHosts = [
+    # Gnome shell native connector
+    pkgs.gnome-browser-connector
+    # Tridactyl native connector
+    pkgs.tridactyl-native
+  ];
+}
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.finalPackage + + +
+
+

Resulting LibreWolf package.

+ +

Type: +null or package (read only)

+

Declared by:

@@ -40139,6 +40225,31 @@ list of string

] +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+ +
+ + programs.librewolf.nativeMessagingHosts + + +
+
+

Additional packages containing native messaging hosts that should be +made available to LibreWolf extensions.

+ +

Type: +list of package

+ +

Default: +[ ]

+

Declared by:

@@ -40163,6 +40274,982 @@ list of package

Default: [ ]

+

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+ +
+ + programs.librewolf.policies + + +
+
+

See list of policies.

+ +

Type: +attribute set of (JSON value)

+ +

Default: +{ }

+ +

Example:

{
+  BlockAboutConfig = true;
+  DefaultDownloadDirectory = "\${home}/Downloads";
+}
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles + + +
+
+

Attribute set of LibreWolf profiles.

+ +

Type: +attribute set of (submodule)

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.bookmarks.configFile + + +
+
+

Configuration file to define custom bookmarks.

+ +

Type: +null or absolute path

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.bookmarks.force + + +
+
+

Whether to force override existing custom bookmarks.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.bookmarks.settings + + +
+
+

Custom bookmarks.

+ +

Type: +(list of ((bookmark submodule) or (directory submodule))) or (attribute set of ((bookmark submodule) or (directory submodule))) convertible to it

+ +

Default: +[ ]

+ +

Example:

[
+  {
+    name = "wikipedia";
+    tags = [ "wiki" ];
+    keyword = "wiki";
+    url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
+  }
+  {
+    name = "kernel.org";
+    url = "https://www.kernel.org";
+  }
+  {
+    name = "Nix sites";
+    toolbar = true;
+    bookmarks = [
+      {
+        name = "homepage";
+        url = "https://nixos.org/";
+      }
+      {
+        name = "wiki";
+        tags = [ "wiki" "nix" ];
+        url = "https://wiki.nixos.org/";
+      }
+    ];
+  }
+]
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containers + + +
+
+

Attribute set of container configurations. See +Multi-Account +Containers +for more information.

+ +

Type: +attribute set of (submodule)

+ +

Default: +{ }

+ +

Example:

{
+  dangerous = {
+    color = "red";
+    icon = "fruit";
+    id = 2;
+  };
+  shopping = {
+    color = "blue";
+    icon = "cart";
+    id = 1;
+  };
+}
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containers.<name>.color + + +
+
+

Container color.

+ +

Type: +one of “blue”, “turquoise”, “green”, “yellow”, “orange”, “red”, “pink”, “purple”, “toolbar”

+ +

Default: +"pink"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containers.<name>.icon + + +
+
+

Container icon.

+ +

Type: +one of “briefcase”, “cart”, “circle”, “dollar”, “fence”, “fingerprint”, “gift”, “vacation”, “food”, “fruit”, “pet”, “tree”, “chill”

+ +

Default: +"fruit"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containers.<name>.id + + +
+
+

Container ID. This should be set to a unique number per container in this profile.

+ +

Type: +unsigned integer, meaning >=0

+ +

Default: +0

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containers.<name>.name + + +
+
+

Container name, e.g., shopping.

+ +

Type: +string

+ +

Default: +"‹name›"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.containersForce + + +
+
+

Whether to force replace the existing containers configuration. +This is recommended since LibreWolf will replace the symlink on +every launch, but note that you’ll lose any existing configuration +by enabling this.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions + + +
+
+

Submodule for installing and configuring extensions.

+ +

Type: +(submodule) or (list of package) convertible to it

+ +

Default: +{ }

+ +

Example:

{
+  packages = with pkgs.nur.repos.rycee.firefox-addons; [
+    ublock-origin
+  ];
+  settings."uBlock0@raymondhill.net".settings = {
+    selectedFilterLists = [
+      "ublock-filters"
+      "ublock-badware"
+      "ublock-privacy"
+      "ublock-unbreak"
+      "ublock-quick-fixes"
+    ];
+  };
+}
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions.packages + + +
+
+

List of ‹name› add-on packages to install for this profile. +Some pre-packaged add-ons are accessible from the Nix User Repository. +Once you have NUR installed run

$ nix-env -f '<nixpkgs>' -qaP -A nur.repos.rycee.firefox-addons
+

to list the available ‹name› add-ons.

Note that it is necessary to manually enable these extensions +inside ‹name› after the first installation.

To automatically enable extensions add +"extensions.autoDisableScopes" = 0; +to +programs.librewolf.profiles.<profile>.settings

+ +

Type: +list of package

+ +

Default: +[ ]

+ +

Example:

with pkgs.nur.repos.rycee.firefox-addons; [
+  privacy-badger
+]
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions.force + + +
+
+

Whether to override all previous firefox settings.

This is required when using settings.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions.settings + + +
+
+

Attribute set of options for each extension. +The keys of the attribute set consist of the ID of the extension +or its UUID wrapped in curly braces.

+ +

Type: +attribute set of (submodule)

+ +

Default: +{ }

+ +

Example:

{
+  # Example with uBlock origin's extensionID
+  "uBlock0@raymondhill.net".settings = {
+    selectedFilterLists = [
+      "ublock-filters"
+      "ublock-badware"
+      "ublock-privacy"
+      "ublock-unbreak"
+      "ublock-quick-fixes"
+    ];
+  };
+
+  # Example with Stylus' UUID-form extensionID
+  "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".settings = {
+    dbInChromeStorage = true; # required for Stylus
+  }
+}
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions.settings.<name>.force + + +
+
+

Forcibly override any existing configuration for +this extension.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extensions.settings.<name>.settings + + +
+
+

Json formatted options for the specified extensionID

+ +

Type: +attribute set of (JSON value)

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.extraConfig + + +
+
+

Extra preferences to add to user.js.

+ +

Type: +strings concatenated with “\n”

+ +

Default: +""

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.id + + +
+
+

Profile ID. This should be set to a unique number per profile.

+ +

Type: +unsigned integer, meaning >=0

+ +

Default: +0

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.isDefault + + +
+
+

Whether this is a default profile.

+ +

Type: +boolean

+ +

Default: +"true if profile ID is 0"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.name + + +
+
+

Profile name.

+ +

Type: +string

+ +

Default: +"‹name›"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.path + + +
+
+

Profile path.

+ +

Type: +string

+ +

Default: +"‹name›"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.preConfig + + +
+
+

Extra preferences to add to user.js, before +programs.firefox.profiles.<name>.settings.

Use programs.firefox.profiles.<name>.extraConfig, unless +you want to overwrite in +programs.firefox.profiles.<name>.settings, then use this +option.

+ +

Type: +strings concatenated with “\n”

+ +

Default: +""

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search + + +
+
+

Declarative search engine configuration.

+ +

Type: +submodule

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search.default + + +
+
+

The default search engine used in the address bar and search +bar.

+ +

Type: +null or string

+ +

Default: +null

+ +

Example: +"ddg"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search.engines + + +
+
+

Attribute set of search engine configurations. Engines that +only have metaData specified will be treated as builtin +to LibreWolf.

See SearchEngine.jsm +in LibreWolf’s source for available options. We maintain a +mapping to let you specify all options in the referenced link +without underscores, but it may fall out of date with future +options.

Note, icon is also a special option added by Home +Manager to make it convenient to specify absolute icon paths.

+ +

Type: +attribute set of attribute set of (JSON value)

+ +

Default: +{ }

+ +

Example:

{
+  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" ];
+  };
+
+  bing.metaData.hidden = true;
+  google.metaData.alias = "@g"; # builtin engines only support specifying one additional alias
+}
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search.force + + +
+
+

Whether to force replace the existing search +configuration. This is recommended since LibreWolf will +replace the symlink for the search configuration on every +launch, but note that you’ll lose any existing configuration +by enabling this.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search.order + + +
+
+

The order the search engines are listed in. Any engines that +aren’t included in this list will be listed after these in an +unspecified order.

+ +

Type: +list of string

+ +

Default: +[ ]

+ +

Example:

[
+  "ddg"
+  "google"
+]
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.search.privateDefault + + +
+
+

The default search engine used in the Private Browsing.

+ +

Type: +null or string

+ +

Default: +null

+ +

Example: +"ddg"

+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.settings + + +
+
+

Attribute set of LibreWolf preferences.

LibreWolf only supports int, bool, and string types for +preferences, but home-manager will automatically +convert all other JSON-compatible values into strings.

+ +

Type: +attribute set of (LibreWolf preference (int, bool, string, and also attrs, list, float as a JSON string))

+ +

Default: +{ }

+ +

Example:

{
+  "browser.startup.homepage" = "https://nixos.org";
+  "browser.search.region" = "GB";
+  "browser.search.isUS" = false;
+  "distribution.searchplugins.defaultLocale" = "en-GB";
+  "general.useragent.locale" = "en-GB";
+  "browser.bookmarks.showMobileBookmarks" = true;
+  "browser.newtabpage.pinned" = [{
+    title = "NixOS";
+    url = "https://nixos.org";
+  }];
+}
+
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.userChrome + + +
+
+

Custom LibreWolf user chrome CSS.

+ +

Type: +strings concatenated with “\n” or absolute path

+ +

Default: +""

+ +

Example:

''
+  /* Hide tab bar in FF Quantum */
+  @-moz-document url(chrome://browser/content/browser.xul), url(chrome://browser/content/browser.xhtml) {
+    #TabsToolbar {
+      visibility: collapse !important;
+      margin-bottom: 21px !important;
+    }
+  
+    #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+      visibility: collapse !important;
+    }
+  }
+''
+
+ +

Declared by:

+ + +
+ +<home-manager/modules/programs/librewolf.nix> + +
+
+
+ + programs.librewolf.profiles.<name>.userContent + + +
+
+

Custom LibreWolf user content CSS.

+ +

Type: +strings concatenated with “\n” or absolute path

+ +

Default: +""

+ +

Example:

''
+  /* Hide scrollbar in FF Quantum */
+  *{scrollbar-width:none !important}
+''
+
+

Declared by: