ansible-playbooks/roles/archlinux/tasks/pacman.yml
2025-11-02 21:18:15 +01:00

44 lines
1.3 KiB
YAML

---
- name: Check if pacman is not locked
ansible.builtin.stat:
path: /var/lib/pacman/db.lck
register: pacman_lock
failed_when: pacman_lock.stat.exists
changed_when: false
## Only if your are sure of what you are doing
# - name: Unlock pacman lock
# file:
# path: /var/lib/pacman/db.lck
# state: absent
- name: Install reflector (looking for fastest mirror)
community.general.pacman:
name: reflector
state: present
- name: Stat pacman mirrorlist
ansible.builtin.stat:
path: /etc/pacman.d/mirrorlist
register: mirrorlist
# Probably not here if it's a fresh install
- name: Stat pacman mirrorlist.bak
ansible.builtin.stat:
path: /etc/pacman.d/mirrorlist.bak
register: mirrorlist_bak
- name: Backup and update pacman mirrorlist if older than 7 days
ansible.builtin.shell: >
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak &&
reflector --latest 20 --protocol https --sort rate
--save /etc/pacman.d/mirrorlist
when: mirrorlist_bak.stat.exists is false or (mirrorlist.stat.exists and (ansible_date_time.epoch | int - mirrorlist.stat.mtime) > 604800)
- name: Configure pacman to output colors
ansible.builtin.lineinfile:
dest: /etc/pacman.conf
state: present
regexp: "^(.*)Color"
line: "Color"