name: firefox
version: 145.0.2-1
summary: Mozilla Firefox web browser
description: Firefox is a powerful, extensible web browser with support for modern
  web application technologies.
architectures:
- amd64
base: core22
assumes:
- command-chain
- snapd2.43
- snapd2.54
apps:
  firefox:
    command: firefox.launcher
    plugs:
    - desktop
    - desktop-legacy
    - gsettings
    - opengl
    - wayland
    - x11
    - alsa
    - audio-playback
    - audio-record
    - avahi-observe
    - browser-sandbox
    - camera
    - cups-control
    - hardware-observe
    - home
    - host-hunspell
    - host-usr-share-hunspell
    - joystick
    - kerberos-tickets
    - login-session-observe
    - mount-observe
    - network
    - network-observe
    - password-manager-service
    - pcscd
    - removable-media
    - screen-inhibit-control
    - system-packages-doc
    - timezone-control
    - u2f-devices
    - unity7
    - upower-observe
    slots:
    - dbus-daemon
    - mpris
    environment:
      DICPATH: $SNAP_COMMON/snap-hunspell
      GTK_USE_PORTAL: '1'
      HOME: $SNAP_USER_COMMON
      PIPEWIRE_CONFIG_NAME: $SNAP/usr/share/pipewire/pipewire.conf
      PIPEWIRE_MODULE_DIR: $SNAP/usr/lib/x86_64-linux-gnu/pipewire-0.3
      SPA_PLUGIN_DIR: $SNAP/usr/lib/x86_64-linux-gnu/spa-0.2
      SPEECHD_ADDRESS: unix_socket:/run/user/$SNAP_UID/speech-dispatcher/speechd.sock
      MOZ_APP_REMOTINGNAME: firefox_firefox
      MOZ_LEGACY_HOME: '1'
    command-chain:
    - snap/command-chain/desktop-launch
  geckodriver:
    command: usr/lib/firefox/geckodriver
    plugs:
    - desktop
    - desktop-legacy
    - gsettings
    - opengl
    - wayland
    - x11
    - network-bind
    - audio-playback
    - audio-record
    - avahi-observe
    - browser-sandbox
    - camera
    - cups-control
    - hardware-observe
    - home
    - host-hunspell
    - host-usr-share-hunspell
    - joystick
    - kerberos-tickets
    - login-session-observe
    - network
    - network-observe
    - password-manager-service
    - pcscd
    - removable-media
    - screen-inhibit-control
    - system-packages-doc
    - timezone-control
    - u2f-devices
    - unity7
    - upower-observe
    slots:
    - dbus-daemon
    - mpris
    command-chain:
    - snap/command-chain/desktop-launch
confinement: strict
grade: stable
environment:
  SNAP_DESKTOP_RUNTIME: $SNAP/gnome-platform
  GTK_USE_PORTAL: '1'
  LD_LIBRARY_PATH: ${SNAP_LIBRARY_PATH}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}:$SNAP/usr/lib:$SNAP/usr/lib/x86_64-linux-gnu
  PATH: $SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH
plugs:
  browser-sandbox:
    interface: browser-support
    allow-sandbox: true
  dot-mozilla-firefox:
    interface: personal-files
    read:
    - $HOME/.mozilla/firefox
  etc-firefox:
    interface: system-files
    read:
    - /etc/firefox
  host-hunspell:
    interface: mount-control
    mount:
    - what: /usr/share/hunspell
      where: $SNAP_COMMON/host-hunspell
      persistent: true
      options:
      - ro
      - bind
      - noatime
      - noexec
  host-usr-share-hunspell:
    interface: system-files
    read:
    - /var/lib/snapd/hostfs/usr/share/hunspell
  desktop:
    mount-host-font-cache: false
  gtk-3-themes:
    interface: content
    target: $SNAP/data-dir/themes
    default-provider: gtk-common-themes
  icon-themes:
    interface: content
    target: $SNAP/data-dir/icons
    default-provider: gtk-common-themes
  sound-themes:
    interface: content
    target: $SNAP/data-dir/sounds
    default-provider: gtk-common-themes
  gnome-42-2204:
    interface: content
    target: $SNAP/gnome-platform
    default-provider: gnome-42-2204
slots:
  dbus-daemon:
    interface: dbus
    bus: session
    name: org.mozilla.firefox
hooks:
  post-refresh:
    plugs:
    - host-usr-share-hunspell
  configure:
    command-chain:
    - snap/command-chain/hooks-configure-fonts
    plugs:
    - desktop
layout:
  /usr/share/libdrm:
    bind: $SNAP/gnome-platform/usr/share/libdrm
  /usr/share/alsa:
    bind: $SNAP/usr/share/alsa
  /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so:
    bind-file: $SNAP/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0:
    bind: $SNAP/gnome-platform/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0
  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.1:
    bind: $SNAP/gnome-platform/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1
  /usr/share/xml/iso-codes:
    bind: $SNAP/gnome-platform/usr/share/xml/iso-codes
links:
  source-code:
  - https://github.com/canonical/firefox-snap
