From 1365932f43dc0e4f4d34a1c10cb60963ddf0a3d7 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 23 Oct 2022 20:49:48 -0400 Subject: [PATCH] Import firefox role. --- ansible/playbook.yaml | 1 + ansible/roles/firefox/defaults/main.yaml | 13 +++++++++++ ansible/roles/firefox/meta/main.yaml | 2 ++ ansible/roles/firefox/tasks/common.yaml | 14 +++++++++++ ansible/roles/firefox/tasks/freebsd.yaml | 7 ++++++ ansible/roles/firefox/tasks/linux.yaml | 6 +++++ ansible/roles/firefox/tasks/main.yaml | 2 ++ ansible/roles/firefox/tasks/peruser.yaml | 23 +++++++++++++++++++ .../roles/firefox/tasks/peruser_freebsd.yaml | 0 .../roles/firefox/tasks/peruser_linux.yaml | 0 10 files changed, 68 insertions(+) create mode 100644 ansible/roles/firefox/defaults/main.yaml create mode 100644 ansible/roles/firefox/meta/main.yaml create mode 100644 ansible/roles/firefox/tasks/common.yaml create mode 100644 ansible/roles/firefox/tasks/freebsd.yaml create mode 100644 ansible/roles/firefox/tasks/linux.yaml create mode 100644 ansible/roles/firefox/tasks/main.yaml create mode 100644 ansible/roles/firefox/tasks/peruser.yaml create mode 100644 ansible/roles/firefox/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/firefox/tasks/peruser_linux.yaml diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index bb975b9..cad6058 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -20,3 +20,4 @@ - alacritty - sway - emacs + - firefox diff --git a/ansible/roles/firefox/defaults/main.yaml b/ansible/roles/firefox/defaults/main.yaml new file mode 100644 index 0000000..a32af69 --- /dev/null +++ b/ansible/roles/firefox/defaults/main.yaml @@ -0,0 +1,13 @@ +firefox_config: + identity.sync.tokenserver.uri: "https://ffsync.fizz.buzz/token/1.0/sync/1.5" + media.ffmpeg.vaapi.enabled: true + doh-rollout.doorhanger-decision: "UIDisabled" + dom.security.https_only_mode: true + dom.security.https_only_mode_ever_enabled: true + extensions.activeThemeID: "firefox-compact-dark@mozilla.org" + # Disable ads + extensions.pocket.enabled: false + browser.newtabpage.activity-stream.showSponsored: false + browser.newtabpage.activity-stream.showSponsoredTopSites: false + browser.newtabpage.activity-stream.feeds.section.topstories: false + browser.newtabpage.pinned: "[]" diff --git a/ansible/roles/firefox/meta/main.yaml b/ansible/roles/firefox/meta/main.yaml new file mode 100644 index 0000000..655446a --- /dev/null +++ b/ansible/roles/firefox/meta/main.yaml @@ -0,0 +1,2 @@ +dependencies: + - users diff --git a/ansible/roles/firefox/tasks/common.yaml b/ansible/roles/firefox/tasks/common.yaml new file mode 100644 index 0000000..d7c1735 --- /dev/null +++ b/ansible/roles/firefox/tasks/common.yaml @@ -0,0 +1,14 @@ +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/firefox/tasks/freebsd.yaml b/ansible/roles/firefox/tasks/freebsd.yaml new file mode 100644 index 0000000..83b5fd0 --- /dev/null +++ b/ansible/roles/firefox/tasks/freebsd.yaml @@ -0,0 +1,7 @@ +- name: Install packages + package: + name: + - libfido2 + - u2f-devd + - firefox + state: present diff --git a/ansible/roles/firefox/tasks/linux.yaml b/ansible/roles/firefox/tasks/linux.yaml new file mode 100644 index 0000000..7d60ae5 --- /dev/null +++ b/ansible/roles/firefox/tasks/linux.yaml @@ -0,0 +1,6 @@ +- name: Install packages + package: + name: + - libfido2 + - firefox-developer-edition + state: present diff --git a/ansible/roles/firefox/tasks/main.yaml b/ansible/roles/firefox/tasks/main.yaml new file mode 100644 index 0000000..dc9939d --- /dev/null +++ b/ansible/roles/firefox/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + when: graphics_driver is defined diff --git a/ansible/roles/firefox/tasks/peruser.yaml b/ansible/roles/firefox/tasks/peruser.yaml new file mode 100644 index 0000000..cb3b69a --- /dev/null +++ b/ansible/roles/firefox/tasks/peruser.yaml @@ -0,0 +1,23 @@ +- include_role: + name: per_user + +- name: Find firefox about:config file + find: + paths: "{{ account_homedir.stdout }}/.mozilla/firefox/" + patterns: "prefs.js" + recurse: true + depth: 2 + register: firefox_about_config + +- name: Configure Firefox about:config + lineinfile: + path: "{{ item[0].path }}" + regexp: '"{{ item[1].key }}", [^")\n]*\)' + line: 'user_pref("{{ item[1].key }}", {{ item[1].value | to_json }});' + loop: "{{ firefox_about_config.files | product(firefox_config | dict2items) | list }}" + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/firefox/tasks/peruser_freebsd.yaml b/ansible/roles/firefox/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/firefox/tasks/peruser_linux.yaml b/ansible/roles/firefox/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29