ansible/roles/snap/tasks/main.yml

77 lines
2.0 KiB
YAML

---
- name: Enable 'universe' repo (Ubuntu and Mint only)
command: add-apt-repository universe
when: ansible_facts['distribution'] in ["Ubuntu", "Linux Mint"]
changed_when: false
ignore_errors: true
- name: Remove Mint's nosnap.pref block (Mint only)
file:
path: /etc/apt/preferences.d/nosnap.pref
state: absent
when: ansible_facts['distribution'] == "Linux Mint"
- name: Install Snap daemon
apt:
name: snapd
state: present
when: ansible_facts['os_family'] == "Debian"
notify: restart snapd
- name: Enable snapd socket on Debian
systemd:
name: snapd.socket
enabled: true
state: started
when: ansible_facts['distribution'] == "Debian"
- 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"
- 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"
- 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