I am trying to wrap a custom Firefox per this issue with the Firefox add-ons:
In apps.nix
I have
{ config, pkgs, lib, ... }:
with pkgs;
{
config = lib.mkIf config.services.xserver.enable {
environment = {
systemPackages = with pkgs; [
( callPackage ./firefox.nix {} )
];
variables = {
BROWSER = [ "firefox" ];
};
};
};
}
and in firefox.nix
I have :
{ pkgs, ... }:
with pkgs;
wrapFirefox firefox-unwrapped {
nixExtensions = [
(fetchFirefoxAddon {
name = "ublock-origin";
url = "https://addons.mozilla.org/firefox/downloads/file/3701081/ublock_origin-1.32.4-an+fx.xpi";
sha256 = "1k5riwz9ljb9fsmz5bv5ci237rr9bfq21pc3dpzsc6ckfizzv52v";
})
];
extraPolicies = {
DisablePocket = true;
FirefoxHome = {
Pocket = false;
Snippets = false;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
};
extraPrefs = ''
// Show more ssl cert infos
lockPref("security.identityblock.show_extended_validation", true);
// Enable dark dev tools
lockPref("devtools.theme","dark");
// Disable add-on signing
lockPref("xpinstall.signatures.required", false)
// Disable language pack signing
lockPref("extensions.langpacks.signatures.required", false)
'';
}
and the result of the evaluation (with sudo nixos-rebuild test --fast
for example) gives
building the system configuration...
error: while evaluating the attribute 'config.system.build.toplevel' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/lib/eval-config.nix:64:5:
while evaluating 'evalModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:62:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/lib/eval-config.nix:58:12:
while evaluating 'mapAttrsRecursiveCond' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:289:36, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:139:28:
while evaluating 'recurse' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:291:23, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:299:8:
while evaluating the attribute 'matchedOptions' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:414:14:
while evaluating 'flip' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:138:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:382:23:
while evaluating 'byName' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:362:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:370:21:
while evaluating 'reverseList' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:393:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:131:33:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:249:37, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:127:25:
while evaluating 'filterModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:239:36, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:250:7:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:243:31, called from undefined position:
while evaluating the attribute 'disabled' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:221:13:
while evaluating the attribute 'disabled' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:221:13:
while evaluating 'loadModule' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:188:53, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:226:22:
while evaluating 'unifyModuleSyntax' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:254:34, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:191:14:
while evaluating 'applyIfFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:284:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:191:59:
while evaluating anonymous function at /home/sirc/whatever/1/firefox.nix:1:1, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:310:8:
while evaluating the module argument `pkgs' in "/home/sirc/whatever/1/firefox.nix":
infinite recursion encountered, at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:303:28
My questions are then:
- why is infinite recursion is triggered ?
- and (of course) how can I have this wrapping of Firefox in a separate file ?