diff --git a/roles/snap/tasks/main.yml b/roles/snap/tasks/main.yml index fe3047b..7d0465a 100644 --- a/roles/snap/tasks/main.yml +++ b/roles/snap/tasks/main.yml @@ -28,15 +28,49 @@ - name: Force Ansible to reload facts setup: +- name: Wait for snapd to be ready + command: snap wait system seed.loaded + register: snap_wait_result + until: snap_wait_result.rc == 0 + retries: 10 + delay: 5 + when: ansible_facts['os_family'] == "Debian" + ignore_errors: true + +- name: Check if snap is working + command: snap list + register: snap_check + when: ansible_facts['os_family'] == "Debian" + ignore_errors: true + - name: Install VSCode IDE (Snap, all distros) community.general.snap: name: code classic: true state: present - when: ansible_facts['os_family'] == "Debian" + when: + - ansible_facts['os_family'] == "Debian" + - snap_check is defined + - snap_check.rc == 0 + ignore_errors: true - name: Install Cursor (Snap, all distros) community.general.snap: name: cursor state: present - when: ansible_facts['os_family'] == "Debian" + when: + - ansible_facts['os_family'] == "Debian" + - snap_check is defined + - snap_check.rc == 0 + ignore_errors: true + +- name: Display snap installation status + debug: + msg: | + Snap check result: {{ snap_check.rc if snap_check is defined else 'not defined' }} + VSCode and Cursor installation may have failed if snap is not properly configured. + You may need to manually install these applications or troubleshoot snap on this host. + when: + - ansible_facts['os_family'] == "Debian" + - snap_check is defined + - snap_check.rc != 0