···23## Build wrapped Firefox with extensions and policies {#build-wrapped-firefox-with-extensions-and-policies}
45-The `wrapFirefox` function allows to pass policies, preferences and extension that are available to firefox. With the help of `fetchFirefoxAddon` this allows build a firefox version that already comes with addons pre-installed:
67```nix
8{
9- myFirefox = wrapFirefox firefox-unwrapped {
010 nixExtensions = [
11 (fetchFirefoxAddon {
12 name = "ublock"; # Has to be unique!
···45Nix installed addons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded addons are checksumed and manual addons can't be installed. Also make sure that the `name` field of fetchFirefoxAddon is unique. If you remove an addon from the nixExtensions array, rebuild and start Firefox the removed addon will be completly removed with all of its settings.
4647## Troubleshooting {#sec-firefox-troubleshooting}
0048If addons do not appear installed although they have been defined in your nix configuration file reset the local addon state of your Firefox profile by clicking `help -> restart with addons disabled -> restart -> refresh firefox`. This can happen if you switch from manual addon mode to nix addon mode and then back to manual mode and then again to nix addon mode.
49
···23## Build wrapped Firefox with extensions and policies {#build-wrapped-firefox-with-extensions-and-policies}
45+The `wrapFirefox` function allows to pass policies, preferences and extension that are available to Firefox. With the help of `fetchFirefoxAddon` this allows build a Firefox version that already comes with addons pre-installed:
67```nix
8{
9+ # Nix firefox addons only work with the firefox-esr package.
10+ myFirefox = wrapFirefox firefox-esr-unwrapped {
11 nixExtensions = [
12 (fetchFirefoxAddon {
13 name = "ublock"; # Has to be unique!
···46Nix installed addons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded addons are checksumed and manual addons can't be installed. Also make sure that the `name` field of fetchFirefoxAddon is unique. If you remove an addon from the nixExtensions array, rebuild and start Firefox the removed addon will be completly removed with all of its settings.
4748## Troubleshooting {#sec-firefox-troubleshooting}
49+If addons are marked as broken or the signature is invalid, make sure you have Firefox ESR installed. Normal Firefox does not provide the ability anymore to disable signature verification for addons thus nix addons get disabled by the normal Firefox binary.
50+51If addons do not appear installed although they have been defined in your nix configuration file reset the local addon state of your Firefox profile by clicking `help -> restart with addons disabled -> restart -> refresh firefox`. This can happen if you switch from manual addon mode to nix addon mode and then back to manual mode and then again to nix addon mode.
52
+5-5
lib/fixed-points.nix
···72 # into one where changes made in the first are available in the
73 # 'super' of the second
74 composeExtensions =
75- f: g: self: super:
76- let fApplied = f self super;
77- super' = super // fApplied;
78- in fApplied // g self super';
7980 # Compose several extending functions of the type expected by 'extends' into
81 # one where changes made in preceding functions are made available to
···84 # composeManyExtensions : [packageSet -> packageSet -> packageSet] -> packageSet -> packageSet -> packageSet
85 # ^final ^prev ^overrides ^final ^prev ^overrides
86 composeManyExtensions =
87- lib.foldr (x: y: composeExtensions x y) (self: super: {});
8889 # Create an overridable, recursive attribute set. For example:
90 #
···72 # into one where changes made in the first are available in the
73 # 'super' of the second
74 composeExtensions =
75+ f: g: final: prev:
76+ let fApplied = f final prev;
77+ prev' = prev // fApplied;
78+ in fApplied // g final prev';
7980 # Compose several extending functions of the type expected by 'extends' into
81 # one where changes made in preceding functions are made available to
···84 # composeManyExtensions : [packageSet -> packageSet -> packageSet] -> packageSet -> packageSet -> packageSet
85 # ^final ^prev ^overrides ^final ^prev ^overrides
86 composeManyExtensions =
87+ lib.foldr (x: y: composeExtensions x y) (final: prev: {});
8889 # Create an overridable, recursive attribute set. For example:
90 #
···304 </listitem>
305 <listitem>
306 <para>
000000307 The <literal>erigon</literal> ethereum node has moved to a new
308 database format in <literal>2021-05-04</literal>, and requires
309 a full resync
000000000310 </para>
311 </listitem>
312 <listitem>
···870 kernel 5.7 or later, the <literal>exfatprogs</literal>
871 user-space utilities are used instead of
872 <literal>exfat</literal>.
00000000873 </para>
874 </listitem>
875 </itemizedlist>
···304 </listitem>
305 <listitem>
306 <para>
307+ Firefox v91 does not support addons with invalid signature
308+ anymore. Firefox ESR needs to be used for nix addon support.
309+ </para>
310+ </listitem>
311+ <listitem>
312+ <para>
313 The <literal>erigon</literal> ethereum node has moved to a new
314 database format in <literal>2021-05-04</literal>, and requires
315 a full resync
316+ </para>
317+ </listitem>
318+ <listitem>
319+ <para>
320+ The <literal>erigon</literal> ethereum node has moved it’s
321+ database location in <literal>2021-08-03</literal>, users
322+ upgrading must manually move their chaindata (see
323+ <link xlink:href="https://github.com/ledgerwatch/erigon/releases/tag/v2021.08.03">release
324+ notes</link>).
325 </para>
326 </listitem>
327 <listitem>
···885 kernel 5.7 or later, the <literal>exfatprogs</literal>
886 user-space utilities are used instead of
887 <literal>exfat</literal>.
888+ </para>
889+ </listitem>
890+ <listitem>
891+ <para>
892+ The <literal>todoman</literal> package was upgraded from 3.9.0
893+ to 4.0.0. This introduces breaking changes in the
894+ <link xlink:href="https://todoman.readthedocs.io/en/stable/configure.html#configuration-file">configuration
895+ file</link> format.
896 </para>
897 </listitem>
898 </itemizedlist>
+7
nixos/doc/manual/release-notes/rl-2111.section.md
···6465## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
66067- The `paperless` module and package have been removed. All users should migrate to the
68 successor `paperless-ng` instead. The Paperless project [has been
69 archived](https://github.com/the-paperless-project/paperless/commit/9b0063c9731f7c5f65b1852cb8caff97f5e40ba4)
···113114- The `staticjinja` package has been upgraded from 1.0.4 to 4.1.0
11500116- The `erigon` ethereum node has moved to a new database format in `2021-05-04`, and requires a full resync
00117118- `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
119···252253- If `exfat` is included in `boot.supportedFilesystems` and when using kernel 5.7
254 or later, the `exfatprogs` user-space utilities are used instead of `exfat`.
00255256## Other Notable Changes {#sec-release-21.11-notable-changes}
257
···6465## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
6667+68- The `paperless` module and package have been removed. All users should migrate to the
69 successor `paperless-ng` instead. The Paperless project [has been
70 archived](https://github.com/the-paperless-project/paperless/commit/9b0063c9731f7c5f65b1852cb8caff97f5e40ba4)
···114115- The `staticjinja` package has been upgraded from 1.0.4 to 4.1.0
116117+- Firefox v91 does not support addons with invalid signature anymore. Firefox ESR needs to be used for nix addon support.
118+119- The `erigon` ethereum node has moved to a new database format in `2021-05-04`, and requires a full resync
120+121+- The `erigon` ethereum node has moved it's database location in `2021-08-03`, users upgrading must manually move their chaindata (see [release notes](https://github.com/ledgerwatch/erigon/releases/tag/v2021.08.03)).
122123- `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
124···257258- If `exfat` is included in `boot.supportedFilesystems` and when using kernel 5.7
259 or later, the `exfatprogs` user-space utilities are used instead of `exfat`.
260+261+- The `todoman` package was upgraded from 3.9.0 to 4.0.0. This introduces breaking changes in the [configuration file](https://todoman.readthedocs.io/en/stable/configure.html#configuration-file) format.
262263## Other Notable Changes {#sec-release-21.11-notable-changes}
264
···91 # and an extid attribute
92 extensions = if nameArray != (lib.unique nameArray) then
93 throw "Firefox addon name needs to be unique"
0094 else builtins.map (a:
95 if ! (builtins.hasAttr "extid" a) then
96 throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
···91 # and an extid attribute
92 extensions = if nameArray != (lib.unique nameArray) then
93 throw "Firefox addon name needs to be unique"
94+ else if ! (lib.hasSuffix "esr" browser.name) then
95+ throw "Nix addons are only supported in Firefox ESR"
96 else builtins.map (a:
97 if ! (builtins.hasAttr "extid" a) then
98 throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
···2122stdenv.mkDerivation rec {
23 pname = "tiledb";
24- version = "2.2.9";
2526 src = fetchFromGitHub {
27 owner = "TileDB-Inc";
28 repo = "TileDB";
29 rev = version;
30- sha256 = "sha256-kiidUvSff0drmIl6sXdqj2pjoFZL+ReCDOTtMEW3P3g=";
31 };
3233 # (bundled) blosc headers have a warning on some archs that it will be using
···2122stdenv.mkDerivation rec {
23 pname = "tiledb";
24+ version = "2.3.3";
2526 src = fetchFromGitHub {
27 owner = "TileDB-Inc";
28 repo = "TileDB";
29 rev = version;
30+ sha256 = "sha256-3Z5+QUzo2f24q11j6s8KX2vHLFkipFvGk2VFComWW/o=";
31 };
3233 # (bundled) blosc headers have a warning on some archs that it will be using