inputs: { options.nixos.packages.firefox = let inherit (inputs.lib) mkOption types; in mkOption { type = types.nullOr (types.submodule {}); default = if inputs.config.nixos.system.gui.enable then {} else null; }; config = let inherit (inputs.config.nixos.packages) firefox; in inputs.lib.mkIf (firefox != null) { # still enable global firefox, to install language packs programs.firefox = { enable = true; languagePacks = [ "zh-CN" "en-US" ]; nativeMessagingHosts.packages = with inputs.pkgs; [ uget-integrator ]; }; }; }