diff --git a/tasks/build/bitwarden.yml b/tasks/build/bitwarden.yml new file mode 100644 index 0000000..b0e0c9d --- /dev/null +++ b/tasks/build/bitwarden.yml @@ -0,0 +1,27 @@ +--- +- name: Install bitwarden appimage + blocK: + - ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ pkgconfig_bitwarden.install_dir }}" + owner: "{{ pkgconfig_bitwarden.owner }}" + group: "{{ pkgconfig_bitwarden.group }}" + + - ansible.builtin.get_url: + mode: '0755' + decompress: false + backup: true + url: "https://vault.bitwarden.com/download/?app=desktop&platform=linux&variant=appimage" + dset: "{{ pkgconfig_bitwarden.install_dir }}/bitwarden.appimage" + owner: "{{ pkgconfig_bitwarden.owner }}" + group: "{{ pkgconfig_bitwarden.group }}" + + - ansible.builtin.file: + state: link + src: "{{ pkgconfig_bitwarden.install_dir }}/bitwarden.appimage" + path: "{{ pkgconfig_bitwarden.install_prefix }}/bin/bitwarden" + when: + - pkgconfig_bitwarden.use_appimage + beocome: "{{ pkgconfig_bitwarden.dobecome }}" + become_user: "{% if pkgconfig_bitwarden.dobecome %}{{ pkgconfig_bitwarden.owner }}{% else %}~{% endif %}" diff --git a/tasks/main.yml b/tasks/main.yml index a754500..211e8ea 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -22,6 +22,30 @@ become: true when: - syspkgs|length > 0 + + - name: add flatpak repos + community.general.flatpak_remote: + enabled: true + flatpakrepo_url: "{{ repo.url }}" + method: system + name: "{{ repo.name }}" + state: present + loop: "{{ flatpkg_repo }}" + loop_control: + loop_var: repo + become: true + when: + - flatpkg_repo|length > 0 + - flatpkgs|length > 0 + + - name: install flatpaks + community.general.flatpak: + method: "system" + name: "{{ flatpkgs }}" + state: latest + become: true + when: + - flatpkgs|length > 0 when: ansible_os_family == 'RedHat' - name: debian based OS @@ -40,6 +64,30 @@ become: true when: - syspkgs|length > 0 + + - name: add flatpak repos + community.general.flatpak_remote: + enabled: true + flatpakrepo_url: "{{ repo.url }}" + method: system + name: "{{ repo.name }}" + state: present + loop: "{{ flatpkg_repo }}" + loop_control: + loop_var: repo + become: true + when: + - flatpkg_repo|length > 0 + - flatpkgs|length > 0 + + - name: install flatpaks + community.general.flatpak: + method: "system" + name: "{{ flatpkgs }}" + state: latest + become: true + when: + - flatpkgs|length > 0 when: ansible_os_family == 'Debian' - name: darwin/macOS based OS diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml index ff7017c..cf0c5c2 100644 --- a/tasks/pkgs/bitwarden.yml +++ b/tasks/pkgs/bitwarden.yml @@ -1,7 +1,13 @@ --- -- name: append to pkgs +- ansible.builtin.include_vars: + file: bitwarden.yml + name: _bitwarden +- ansible.builtin.set_fact: + pkgconfig_bitwarden: "{{ _bitwarden | ansible.builtin.combine(pkgconfig.bitwarden) }}" + +- name: append to srcpkgs ansible.builtin.set_fact: - syspkgs: "{{ syspkgs + [ 'bitwarden' ] }}" + syspkgs: "{{ srcpkgs + [ 'bitwarden' ] }}" when: ansible_os_family != 'Darwin' - name: append to caskpkgs diff --git a/tasks/pkgs/dbeaver.yml b/tasks/pkgs/dbeaver.yml index df56900..14650c4 100644 --- a/tasks/pkgs/dbeaver.yml +++ b/tasks/pkgs/dbeaver.yml @@ -1,5 +1,15 @@ # TODO: implement --- -- name: append to syspkgs - debug: - msg: "NOT IMPLEMENTED YET" +- ansible.builtin.include_tasks: + file: pkgs/flatpak.yml + when: pkgconfig_flatpkak is undefined + +- name: append to flatpkgs + ansible.builtin.set_fact: + flatpkgs: "{{ flatpkgs + [ 'dbeaver' ] }}" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + ansible.builtin.set_fact: + caskpkgs: "{{ caskpkgs + [ 'dbeaver-community' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/flatpak.yml b/tasks/pkgs/flatpak.yml new file mode 100644 index 0000000..833e688 --- /dev/null +++ b/tasks/pkgs/flatpak.yml @@ -0,0 +1,6 @@ +--- +- name: append to syspkgs + ansible.builtin.set_fact: + syspkgs: "{{ syspkgs + [ 'flatpak' ] }}" + pkgconfig_flatpak: {defined: true} + when: ansible_os_family != 'Darwin' diff --git a/vars/bitwarden.yml b/vars/bitwarden.yml new file mode 100644 index 0000000..8d21132 --- /dev/null +++ b/vars/bitwarden.yml @@ -0,0 +1,7 @@ +--- +install_prefix: "{{ default_config.install_prefix }}" +install_dir: /opt/bitwarden +use_appimage: true +dobecome: true +owner: root +group: root diff --git a/vars/main.yml b/vars/main.yml index e534c0f..71eae79 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -14,6 +14,10 @@ brewtaps: [] cargopkgs: [] cargoversioned: [] caskpkgs: [] +flatpkgs: [] +flatpkg_repo: + - name: flathub + url: https://dl.flathub.org/repo/flathub.flatpakrepo gopkgs: [] npmpkgs: [] packages: [] @@ -28,6 +32,7 @@ tappkgs: [] # pkgconfig. as a dict pkgconfig: alacritty: {} + bitwarden: {} carapace: {} clangd: {} consul: {}