--- - name: Install Firefox via APT (Not Snap) block: - name: Remove Firefox Snap if installed community.general.snap: name: firefox state: absent become: true - name: Create APT keyring directory if it doesn't exist ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: "0755" become: true - name: Import Mozilla APT repo signing key ansible.builtin.get_url: url: https://packages.mozilla.org/apt/repo-signing-key.gpg dest: /etc/apt/keyrings/packages.mozilla.org.asc mode: "0644" become: true - name: Add Mozilla APT repository ansible.builtin.lineinfile: path: /etc/apt/sources.list.d/mozilla.list line: "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" create: true mode: "0644" become: true - name: Set Firefox package priority ansible.builtin.copy: dest: /etc/apt/preferences.d/mozilla content: | Package: * Pin: origin packages.mozilla.org Pin-Priority: 1000 Package: firefox* Pin: release o=Ubuntu Pin-Priority: -1 mode: "0644" become: true - name: Update apt cache ansible.builtin.apt: update_cache: true become: true - name: Remove Ubuntu's Firefox transition package ansible.builtin.apt: name: firefox state: absent become: true - name: Install Firefox from Mozilla's repository ansible.builtin.apt: name: firefox state: present become: true