···115116 nameArray = builtins.map(a: a.name) (lib.optionals usesNixExtensions nixExtensions);
117118- requiresSigning = browser ? MOZ_REQUIRE_SIGNING
119- -> toString browser.MOZ_REQUIRE_SIGNING != "";
120-121 # Check that every extension has a unqiue .name attribute
122 # and an extid attribute
123 extensions = if nameArray != (lib.unique nameArray) then
124 throw "Firefox addon name needs to be unique"
125- else if requiresSigning && !lib.hasSuffix "esr" browser.name then
126- throw "Nix addons are only supported without signature enforcement (eg. Firefox ESR)"
127 else builtins.map (a:
128 if ! (builtins.hasAttr "extid" a) then
129- throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
130 else
131 a
132 ) (lib.optionals usesNixExtensions nixExtensions);
···115116 nameArray = builtins.map(a: a.name) (lib.optionals usesNixExtensions nixExtensions);
117000118 # Check that every extension has a unqiue .name attribute
119 # and an extid attribute
120 extensions = if nameArray != (lib.unique nameArray) then
121 throw "Firefox addon name needs to be unique"
122+ else if browser.requireSigning || !browser.allowAddonSideload then
123+ throw "Nix addons are only supported with signature enforcement disabled and addon sideloading enabled (eg. LibreWolf)"
124 else builtins.map (a:
125 if ! (builtins.hasAttr "extid" a) then
126+ throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchFirefoxAddon"
127 else
128 a
129 ) (lib.optionals usesNixExtensions nixExtensions);