--- - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_distribution | lower }}.yml" - name: "Ensure firefox is installed" become: true ansible.builtin.package: name: "{{ firefox_package }}" state: "present" - name: "Install browserpass extension for Firefox" ansible.builtin.include_tasks: "install_browserpass.yml" when: firefox_install_browserpass | default(false) # NOTE: passff extension is using sed/curl during install and python/pass to run # Make sure those dependencies are installed on the target system before enabling this part. # It doesn't make a lot of sense to have all these dependencies added to the firefox role, just for using # this extension, which isn't enabled by default. # Personally I find it has better UI/UX than browserpass, but browserpass is more lightweight. - name: "Install passff extension for Firefox" ansible.builtin.include_tasks: "install_passff.yml" when: firefox_install_passff | default(false) - name: "Create policies directory" become: true ansible.builtin.file: path: "/etc/firefox/policies" state: "directory" mode: "0755" - name: "Set firefox_policies fact" ansible.builtin.set_fact: firefox_policies: "{{ firefox_default_policies | combine(firefox_policies_override) }}" - name: "Create Firefox policies file" become: true ansible.builtin.copy: dest: "/etc/firefox/policies/policies.json" mode: "0644" content: | { "policies": {{ firefox_policies | tojson(indent=4) }} }