66 lines
2.4 KiB
YAML
66 lines
2.4 KiB
YAML
---
|
|
- name: Check if applications are already installed
|
|
ansible.builtin.package_facts:
|
|
manager: apt
|
|
|
|
- name: Check if Brave browser is installed
|
|
ansible.builtin.command: brave-browser --version
|
|
register: applications_brave_check
|
|
ignore_errors: true
|
|
changed_when: false
|
|
failed_when: false
|
|
no_log: true
|
|
|
|
- name: Set installation conditions
|
|
ansible.builtin.set_fact:
|
|
applications_desktop_apps_needed: "{{ ['redshift', 'libreoffice', 'evince'] | difference(ansible_facts.packages.keys()) | length > 0 }}"
|
|
applications_brave_needs_install: "{{ applications_brave_check.rc != 0 or 'brave-browser' not in ansible_facts.packages }}"
|
|
|
|
- name: Install desktop applications
|
|
ansible.builtin.apt:
|
|
name:
|
|
- redshift
|
|
- libreoffice
|
|
- evince
|
|
state: present
|
|
when: applications_desktop_apps_needed
|
|
|
|
- name: Brave browser installation
|
|
when: applications_brave_needs_install
|
|
block:
|
|
- name: Remove old Brave repository files
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- /etc/apt/sources.list.d/brave-browser.list
|
|
- /etc/apt/sources.list.d/brave-browser-release.sources
|
|
|
|
- name: Download Brave APT key
|
|
ansible.builtin.get_url:
|
|
url: https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
|
dest: /usr/share/keyrings/brave-browser-archive-keyring.gpg
|
|
mode: '0644'
|
|
|
|
- name: Add Brave repository
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"
|
|
filename: brave-browser
|
|
state: present
|
|
|
|
- name: Install Brave browser
|
|
ansible.builtin.apt:
|
|
name: brave-browser
|
|
state: present
|
|
|
|
- name: Display application status
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "Desktop apps needed: {{ applications_desktop_apps_needed }}"
|
|
- "Brave needed: {{ applications_brave_needs_install }}"
|
|
- "Redshift: {{ 'Installed' if 'redshift' in ansible_facts.packages else 'Missing' }}"
|
|
- "LibreOffice: {{ 'Installed' if 'libreoffice' in ansible_facts.packages else 'Missing' }}"
|
|
- "Evince: {{ 'Installed' if 'evince' in ansible_facts.packages else 'Missing' }}"
|
|
- "Brave: {{ applications_brave_check.stdout if applications_brave_check.rc == 0 else 'Not installed' }}"
|
|
when: ansible_debug_output | default(false) | bool
|