summaryrefslogtreecommitdiffstats
path: root/roles/firefox/tasks/install-plugin-browserpass.yml
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-02-22 03:04:59 +0100
committerAhmed Abdelhalim <[email protected]>2026-02-22 03:04:59 +0100
commit7b8b6a2af4adeba5b2005e449195c1f4e8a136c6 (patch)
tree3b98b43f73ff504c7a9118b2ba12ef20fd617016 /roles/firefox/tasks/install-plugin-browserpass.yml
parent8cc2cc696ec426c385f6955436ab3fa92d72acc7 (diff)
Refactor firefox role to use flatpak on debian
Diffstat (limited to 'roles/firefox/tasks/install-plugin-browserpass.yml')
-rw-r--r--roles/firefox/tasks/install-plugin-browserpass.yml48
1 files changed, 48 insertions, 0 deletions
diff --git a/roles/firefox/tasks/install-plugin-browserpass.yml b/roles/firefox/tasks/install-plugin-browserpass.yml
new file mode 100644
index 00000000..50d6cef2
--- /dev/null
+++ b/roles/firefox/tasks/install-plugin-browserpass.yml
@@ -0,0 +1,48 @@
+---
+- name: "Add browserpass to default extensions"
+ ansible.builtin.set_fact:
+ firefox_default_extensions: "{{ firefox_default_extensions | combine(firefox_browserpass_extension) }}"
+ vars:
+ firefox_browserpass_extension:
+ installation_mode: "force_installed"
+ install_url: "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi"
+
+- name: "Ensure browserpass native messaging host is installed"
+ become: true
+ ansible.builtin.package:
+ name: "{{ firefox_browserpass_packages }}"
+ state: "present"
+
+- name: "Create native messaging hosts directory"
+ become: true
+ ansible.builtin.file:
+ path: "/usr/lib/mozilla/native-messaging-hosts"
+ state: "directory"
+ mode: "0755"
+
+- name: "Create browserpass native messaging hosts file"
+ become: true
+ ansible.builtin.copy:
+ dest: "/usr/lib/mozilla/native-messaging-hosts/com.github.browserpass.native.json"
+ mode: "0644"
+ content: |
+ {
+ "name": "com.github.browserpass.native",
+ "description": "Browserpass native component for the Firefox extension",
+ "path": "/usr/lib/browserpass/browserpass-wrapper",
+ "type": "stdio",
+ "allowed_extensions": ["[email protected]"]
+ }
+
+- name: "Create browserpass-native wrapper"
+ become: true
+ ansible.builtin.copy:
+ dest: "/usr/lib/browserpass/browserpass-wrapper"
+ mode: "0755"
+ content: |
+ #!/bin/sh
+ # NOTE: this uses the dotfiles pinentry-wrapper which forces the usage of GUI pinentry in this case.
+ # REF: https://git.sr.ht/~a14m/.rc/tree/94b355aa0ce648e3d41bfa7ef76611e3650523d2/item/.gnupg/pinentry-wrapper
+ export PINENTRY_USER_DATA=gnome
+ exec /usr/lib/browserpass/browserpass-native "$@"