Configuration Reference

February 5, 2026 ยท View on GitHub

This document provides a complete reference for fxios configuration.

Overview

fxios uses a merged configuration system:

  1. CLI arguments - Highest priority, always takes precedence
  2. Project config - .fxios.yaml in repository root
  3. Product presets - Built-in defaults for Firefox/Focus (for l10n commands)
  4. Bundled defaults - Fallback values built into fxios

Configuration File

The .fxios.yaml file in your repository root configures fxios's behavior.

All Fields

FieldTypeRequiredDefaultDescription
projectstringYes-Project identifier (must be firefox-ios)
default_bootstrapstringNofirefoxDefault product for bootstrap command
default_build_productstringNofirefoxDefault product for build/run/test commands

Example Configurations

Minimal (uses all defaults):

project: firefox-ios

Focus development:

project: firefox-ios
default_bootstrap: focus
default_build_product: focus

L10n Product Presets

The --product option on l10n export/import commands provides preset configurations for Firefox and Focus. These presets configure multiple settings at once.

Important: For l10n export and l10n import, you must specify either --product or --project-path.

Product Defaults Table

SettingFirefoxFocus
xliff_namefirefox-ios.xlifffocus-ios.xliff
export_base_path/tmp/ios-localization/tmp/ios-localization-focus
development_regionen-USen
project_nameClient.xcodeprojBlockzilla.xcodeproj
project_pathClient.xcodeprojBlockzilla.xcodeproj
skip_widget_kitfalsetrue

Resolution Priority

For l10n commands, values are resolved in this order:

  1. CLI argument - e.g., --xliff-name custom.xliff
  2. Product preset - from --product flag
  3. Hardcoded fallback - Firefox defaults

Command-Specific Configuration

bootstrap

Uses default_bootstrap to determine which product to bootstrap:

  • firefox - Bootstrap for Firefox development
  • focus - Bootstrap for Focus development

build / run / test

Uses default_build_product to determine which product to build:

  • firefox - Build Firefox
  • focus - Build Focus
  • klar - Build Klar

l10n export

Requires either --product or --project-path.

OptionDescription
--productProduct preset (firefox/focus). Required unless using --project-path
--project-pathPath to .xcodeproj. Required unless using --product
--xliff-nameOverride: XLIFF filename
--export-base-pathOverride: temp export path

l10n import

Requires either --product or --project-path.

OptionDescription
--productProduct preset (firefox/focus). Required unless using --project-path
--project-pathPath to .xcodeproj. Required unless using --product
--xliff-nameOverride: XLIFF filename
--development-regionOverride: xcloc development region
--project-nameOverride: xcloc project name
--skip-widget-kitOverride: exclude WidgetKit strings

l10n templates

OptionDescription
--productProduct preset for xliff-name default
--xliff-nameOverride: XLIFF filename (defaults to firefox-ios.xliff)

Usage Examples

Firefox L10n Export

# Using product preset
fxios l10n export --product firefox --l10n-project-path ~/src/firefox-ios-l10n

# Using explicit project path
fxios l10n export --project-path ./Client.xcodeproj --l10n-project-path ~/src/firefox-ios-l10n

Focus L10n Import

# Using product preset
fxios l10n import --product focus --l10n-project-path ~/src/focus-ios-l10n

# Override skip-widget-kit from preset
fxios l10n import --product focus --no-skip-widget-kit --l10n-project-path ~/src/focus-ios-l10n

Single Locale Operations

# Export only French
fxios l10n export --product firefox --locale fr --l10n-project-path ~/src/firefox-ios-l10n

# Import only German
fxios l10n import --product focus --locale de --l10n-project-path ~/src/focus-ios-l10n